1.1 --- a/libxml2dom/macrolib/macrolib.py Thu Dec 01 01:59:06 2005 +0000
1.2 +++ b/libxml2dom/macrolib/macrolib.py Thu Dec 01 01:59:42 2005 +0000
1.3 @@ -62,7 +62,9 @@
1.4 child_nodes = []
1.5 node = libxml2mod.children(node)
1.6 while node is not None:
1.7 - child_nodes.append(node)
1.8 + # Remove doctypes.
1.9 + if Node_nodeType(node) != xml.dom.Node.DOCUMENT_TYPE_NODE:
1.10 + child_nodes.append(node)
1.11 node = libxml2mod.next(node)
1.12 return child_nodes
1.13
1.14 @@ -140,6 +142,9 @@
1.15 else:
1.16 return None
1.17
1.18 +def Node_doctype(node):
1.19 + return libxml2mod.xmlGetIntSubset(node)
1.20 +
1.21 def Node_hasAttributeNS(node, ns, localName):
1.22 return Node_getAttributeNS(node, ns, localName) is not None
1.23
1.24 @@ -331,15 +336,14 @@
1.25
1.26 # Utility functions.
1.27
1.28 -def createDocumentType(localName, publicId, systemId):
1.29 - return None
1.30 -
1.31 def createDocument(namespaceURI, localName, doctype):
1.32 # NOTE: Fixed to use version 1.0 only.
1.33 d = libxml2mod.xmlNewDoc("1.0")
1.34 if localName is not None:
1.35 root = Node_createElementNS(d, namespaceURI, localName)
1.36 Node_appendChild(d, root)
1.37 + if doctype is not None:
1.38 + libxml2mod.xmlCreateIntSubset(d, doctype.localName, doctype.publicId, doctype.systemId)
1.39 return d
1.40
1.41 def parse(stream_or_string, html=0):