diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2000-10-06 22:36:03 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2000-10-06 22:36:03 (GMT) |
commit | 2c8a89cc3f141f574982b66383c533e7ecbe4aac (patch) | |
tree | d4607b60d442682ec54433daad215a1c5c4de8c9 /Lib/xml/dom/pulldom.py | |
parent | 80670bcabaf071bfe9131f3907b44632a672f9cb (diff) | |
download | cpython-2c8a89cc3f141f574982b66383c533e7ecbe4aac.zip cpython-2c8a89cc3f141f574982b66383c533e7ecbe4aac.tar.gz cpython-2c8a89cc3f141f574982b66383c533e7ecbe4aac.tar.bz2 |
minidom: access attribute value before printing it
correct order of constructor args in createAttributeNS
pulldom: use symbolic names for uri and localnames
correct usage of createAttribute and setAttributeNode signatures.
Diffstat (limited to 'Lib/xml/dom/pulldom.py')
-rw-r--r-- | Lib/xml/dom/pulldom.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/Lib/xml/dom/pulldom.py b/Lib/xml/dom/pulldom.py index 9f93d6a..f1e5126 100644 --- a/Lib/xml/dom/pulldom.py +++ b/Lib/xml/dom/pulldom.py @@ -27,26 +27,28 @@ class PullDOM(xml.sax.ContentHandler): del self._ns_contexts[-1] def startElementNS(self, name, tagName , attrs): - if name[0]: + uri,localname = name + if uri: # When using namespaces, the reader may or may not # provide us with the original name. If not, create # *a* valid tagName from the current context. if tagName is None: - tagName = self._current_context[name[0]] + ":" + name[1] - node = self.document.createElementNS(name[0], tagName) + tagName = self._current_context[uri] + ":" + localname + node = self.document.createElementNS(uri, tagName) else: # When the tagname is not prefixed, it just appears as - # name[1] - node = self.document.createElement(name[1]) + # localname + node = self.document.createElement(localname) for aname,value in attrs.items(): - if aname[0]: - qname = self._current_context[name[0]] + ":" + aname[1] - attr = self.document.createAttributeNS(name[0], qname) + a_uri, a_localname = aname + if a_uri: + qname = self._current_context[a_uri] + ":" + a_localname + attr = self.document.createAttributeNS(a_uri, qname) else: - attr = self.document.createAttribute(name[0], name[1]) + attr = self.document.createAttribute(a_localname) attr.value = value - node.setAttributeNode(qname, attr) + node.setAttributeNode(attr) parent = self.curNode node.parentNode = parent |