summaryrefslogtreecommitdiffstats
path: root/Lib/xml/dom
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2003-01-26 08:59:32 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2003-01-26 08:59:32 (GMT)
commit995359cbe86cc16cbf82039dc0fc4c2917735182 (patch)
treeb072218e36319cd03f04f3bdd65b1ed17da73c6d /Lib/xml/dom
parentc35d199404d8a9c529c56f875f05d05b7b58ca6c (diff)
downloadcpython-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.py20
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