diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2003-01-26 08:59:32 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2003-01-26 08:59:32 (GMT) |
commit | 995359cbe86cc16cbf82039dc0fc4c2917735182 (patch) | |
tree | b072218e36319cd03f04f3bdd65b1ed17da73c6d /Lib/xml/dom | |
parent | c35d199404d8a9c529c56f875f05d05b7b58ca6c (diff) | |
download | cpython-995359cbe86cc16cbf82039dc0fc4c2917735182.zip cpython-995359cbe86cc16cbf82039dc0fc4c2917735182.tar.gz cpython-995359cbe86cc16cbf82039dc0fc4c2917735182.tar.bz2 |
Merge with PyXML 1.82:
Correct various typos. Fixes #674700.
Set newly created attribute via setNamedItem.
Diffstat (limited to 'Lib/xml/dom')
-rw-r--r-- | Lib/xml/dom/minidom.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py index 46eb881..2ec4325 100644 --- a/Lib/xml/dom/minidom.py +++ b/Lib/xml/dom/minidom.py @@ -16,7 +16,7 @@ Todo: import xml.dom -from xml.dom import EMPTY_NAMESPACE, EMPTY_PREFIX +from xml.dom import EMPTY_NAMESPACE, EMPTY_PREFIX, XMLNS_NAMESPACE, domreg from xml.dom.minicompat import * from xml.dom.xmlbuilder import DOMImplementationLS, DocumentLS @@ -384,10 +384,10 @@ class Attr(Node): else: d[name] = value - def _set_prefix(self, value): + def _set_prefix(self, prefix): nsuri = self.namespaceURI - if value == "xmlns": - if self.namespaceURI and self.namespaceURI != XMLNS_NAMESPACE: + if prefix == "xmlns": + if nsuri and nsuri != XMLNS_NAMESPACE: raise xml.dom.NamespaceErr( "illegal use of 'xmlns' prefix for the wrong namespace") d = self.__dict__ @@ -395,7 +395,7 @@ class Attr(Node): if prefix is None: newName = self.localName else: - newName = "%s:%s" % (value, self.localName) + newName = "%s:%s" % (prefix, self.localName) if self.ownerElement: _clear_id_cache(self.ownerElement) d['nodeName'] = d['name'] = newName @@ -536,6 +536,7 @@ class NamedNodeMap(NewStyle, GetattrMagic): except KeyError: node = Attr(attname) node.ownerDocument = self._ownerElement.ownerDocument + self.setNamedItem(node) node.value = value else: if not isinstance(value, Attr): @@ -1008,7 +1009,8 @@ defproperty(CharacterData, "length", doc="Length of the string data.") class Text(CharacterData): # Make sure we don't add an instance __dict__ if we don't already # have one, at least when that's possible: - __slots__ = () + # XXX this does not work, CharacterData is an old-style class + # __slots__ = () nodeType = Node.TEXT_NODE nodeName = "#text" @@ -1132,7 +1134,8 @@ class Comment(Childless, CharacterData): class CDATASection(Text): # Make sure we don't add an instance __dict__ if we don't already # have one, at least when that's possible: - __slots__ = () + # XXX this does not work, Text is an old-style class + # __slots__ = () nodeType = Node.CDATA_SECTION_NODE nodeName = "#cdata-section" @@ -1212,7 +1215,8 @@ defproperty(ReadOnlySequentialNamedNodeMap, "length", class Identified: """Mix-in class that supports the publicId and systemId attributes.""" - __slots__ = 'publicId', 'systemId' + # XXX this does not work, this is an old-style class + # __slots__ = 'publicId', 'systemId' def _identified_mixin_init(self, publicId, systemId): self.publicId = publicId |