Index: src/html5lib/treebuilders/dom.py
===================================================================
--- src/html5lib/treebuilders/dom.py (revision 1118)
+++ src/html5lib/treebuilders/dom.py (working copy)
@@ -137,16 +137,21 @@
rv = []
def serializeElement(element, indent=0):
if element.nodeType == Node.DOCUMENT_TYPE_NODE:
- if element.name:
- rv.append("|%s"%(' '*indent, element.name))
+ if element.publicId:
+ if element.systemId:
+ rv.append('|%s'%(' '*indent, element.name or "", element.publicId, element.systemId))
+ else:
+ rv.append('|%s'%(' '*indent, element.name or "", element.publicId))
+ elif element.systemId:
+ rv.append('|%s'%(' '*indent, element.name or "", element.systemId))
else:
- rv.append("|%s"%(' '*indent,))
+ rv.append("|%s"%(' '*indent, element.name or ""))
elif element.nodeType == Node.DOCUMENT_NODE:
rv.append("#document")
elif element.nodeType == Node.DOCUMENT_FRAGMENT_NODE:
rv.append("#document-fragment")
elif element.nodeType == Node.COMMENT_NODE:
- rv.append("|%s"%(' '*indent, element.nodeValue))
+ rv.append("|%s"%(' '*indent, element.nodeValue))
elif element.nodeType == Node.TEXT_NODE:
rv.append("|%s\"%s\"" %(' '*indent, element.nodeValue))
else:
Index: src/html5lib/treebuilders/etree.py
===================================================================
--- src/html5lib/treebuilders/etree.py (revision 1118)
+++ src/html5lib/treebuilders/etree.py (working copy)
@@ -169,7 +169,15 @@
if not(hasattr(element, "tag")):
element = element.getroot()
if element.tag == "":
- rv.append("|%s"%(' '*indent, element.text))
+ if element.get("publicId"):
+ if element.get("systemId"):
+ rv.append('|%s'%(' '*indent, element.text, element.get("publicId"), element.get("systemId")))
+ else:
+ rv.append('|%s'%(' '*indent, element.text, element.get("publicId")))
+ elif element.get("systemId"):
+ rv.append('|%s'%(' '*indent, element.text, element.get("systemId")))
+ else:
+ rv.append("|%s"%(' '*indent, element.text))
elif element.tag == "