from __future__ import absolute_import, division, unicode_literals from xml.sax.xmlreader import AttributesNSImpl from ..constants import adjustForeignAttributes, unadjustForeignAttributes prefix_mapping = {} for prefix, localName, namespace in adjustForeignAttributes.values(): if prefix is not None: prefix_mapping[prefix] = namespace def to_sax(walker, handler): """Call SAX-like content handler based on treewalker walker :arg walker: the treewalker to use to walk the tree to convert it :arg handler: SAX handler to use """ handler.startDocument() for prefix, namespace in prefix_mapping.items(): handler.startPrefixMapping(prefix, namespace) for token in walker: type = token["type"] if type == "Doctype": continue elif type in ("StartTag", "EmptyTag"): attrs = AttributesNSImpl(token["data"], unadjustForeignAttributes) handler.startElementNS((token["namespace"], token["name"]), token["name"], attrs) if type == "EmptyTag": handler.endElementNS((token["namespace"], token["name"]), token["name"]) elif type == "EndTag": handler.endElementNS((token["namespace"], token["name"]), token["name"]) elif type in ("Characters", "SpaceCharacters"): handler.characters(token["data"]) elif type == "Comment": pass else: assert False, "Unknown token type" for prefix, namespace in prefix_mapping.items(): handler.endPrefixMapping(prefix) handler.endDocument()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
.__init__.pyo.40009 | File | 988 B | 0644 |
|
.genshi.pyo.40009 | File | 1.86 KB | 0644 |
|
__init__.py | File | 679 B | 0644 |
|
__init__.pyc | File | 988 B | 0644 |
|
__init__.pyo | File | 988 B | 0644 |
|
genshi.py | File | 1.67 KB | 0644 |
|
genshi.pyc | File | 1.86 KB | 0644 |
|
genshi.pyo | File | 1.86 KB | 0644 |
|
sax.py | File | 1.73 KB | 0644 |
|
sax.pyc | File | 1.86 KB | 0644 |
|
sax.pyo | File | 1.79 KB | 0644 |
|