diff options
author | Donald Stufft <donald@stufft.io> | 2014-05-03 01:13:28 -0400 |
---|---|---|
committer | Donald Stufft <donald@stufft.io> | 2014-05-03 01:13:28 -0400 |
commit | 0e72f65bf4e5ea6b8fd17d02fe4cae0ba7da5113 (patch) | |
tree | 5c04afcabe3c7087e38b8114b19de437f2cf4ab3 /pip/_vendor/html5lib/treebuilders/dom.py | |
parent | bdef6cebfb4e92a388cf84ed55cbd4ead8ef269c (diff) | |
parent | 93098d0c6781dd7019dfa43d9030f14b28f1bf2d (diff) | |
download | pip-1.5.5.tar.gz |
Merge branch '1.5.X'1.5.5
Conflicts:
.travis/py34.sh
CHANGES.txt
PROJECT.txt
Diffstat (limited to 'pip/_vendor/html5lib/treebuilders/dom.py')
-rw-r--r-- | pip/_vendor/html5lib/treebuilders/dom.py | 65 |
1 files changed, 1 insertions, 64 deletions
diff --git a/pip/_vendor/html5lib/treebuilders/dom.py b/pip/_vendor/html5lib/treebuilders/dom.py index f9e0d76e7..61e5ed79e 100644 --- a/pip/_vendor/html5lib/treebuilders/dom.py +++ b/pip/_vendor/html5lib/treebuilders/dom.py @@ -1,7 +1,7 @@ from __future__ import absolute_import, division, unicode_literals -from xml.dom import minidom, Node, XML_NAMESPACE, XMLNS_NAMESPACE +from xml.dom import minidom, Node import weakref from . import _base @@ -220,69 +220,6 @@ def getDomBuilder(DomImplementation): return "\n".join(rv) - def dom2sax(node, handler, nsmap={'xml': XML_NAMESPACE}): - if node.nodeType == Node.ELEMENT_NODE: - if not nsmap: - handler.startElement(node.nodeName, node.attributes) - for child in node.childNodes: - dom2sax(child, handler, nsmap) - handler.endElement(node.nodeName) - else: - attributes = dict(node.attributes.itemsNS()) - - # gather namespace declarations - prefixes = [] - for attrname in list(node.attributes.keys()): - attr = node.getAttributeNode(attrname) - if (attr.namespaceURI == XMLNS_NAMESPACE or - (attr.namespaceURI is None and attr.nodeName.startswith('xmlns'))): - prefix = (attr.nodeName != 'xmlns' and attr.nodeName or None) - handler.startPrefixMapping(prefix, attr.nodeValue) - prefixes.append(prefix) - nsmap = nsmap.copy() - nsmap[prefix] = attr.nodeValue - del attributes[(attr.namespaceURI, attr.nodeName)] - - # apply namespace declarations - for attrname in list(node.attributes.keys()): - attr = node.getAttributeNode(attrname) - if attr.namespaceURI is None and ':' in attr.nodeName: - prefix = attr.nodeName.split(':')[0] - if prefix in nsmap: - del attributes[(attr.namespaceURI, attr.nodeName)] - attributes[(nsmap[prefix], attr.nodeName)] = attr.nodeValue - - # SAX events - ns = node.namespaceURI or nsmap.get(None, None) - handler.startElementNS((ns, node.nodeName), node.nodeName, attributes) - for child in node.childNodes: - dom2sax(child, handler, nsmap) - handler.endElementNS((ns, node.nodeName), node.nodeName) - for prefix in prefixes: - handler.endPrefixMapping(prefix) - - elif node.nodeType in [Node.TEXT_NODE, Node.CDATA_SECTION_NODE]: - handler.characters(node.nodeValue) - - elif node.nodeType == Node.DOCUMENT_NODE: - handler.startDocument() - for child in node.childNodes: - dom2sax(child, handler, nsmap) - handler.endDocument() - - elif node.nodeType == Node.DOCUMENT_FRAGMENT_NODE: - for child in node.childNodes: - dom2sax(child, handler, nsmap) - - else: - # ATTRIBUTE_NODE - # ENTITY_NODE - # PROCESSING_INSTRUCTION_NODE - # COMMENT_NODE - # DOCUMENT_TYPE_NODE - # NOTATION_NODE - pass - return locals() |