1.1 --- a/libxml2dom/macrolib/macrolib.py Tue Aug 26 00:17:04 2008 +0200
1.2 +++ b/libxml2dom/macrolib/macrolib.py Tue Aug 26 00:34:42 2008 +0200
1.3 @@ -490,7 +490,11 @@
1.4 )
1.5
1.6 def Node_getElementById(doc, identifier):
1.7 - return libxml2mod.xmlGetID(doc, identifier)
1.8 + node = libxml2mod.xmlGetID(doc, identifier)
1.9 + if node is None:
1.10 + return None
1.11 + else:
1.12 + return Node_parentNode(node)
1.13
1.14 def Node_xpath(node, expr, variables=None, namespaces=None):
1.15 expr = from_unicode(expr)
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/tests/test_invalid.xml Tue Aug 26 00:34:42 2008 +0200
2.3 @@ -0,0 +1,10 @@
2.4 +<?xml version="1.0"?>
2.5 +<!DOCTYPE zoo [
2.6 + <!ATTLIST cage
2.7 + id ID #IMPLIED
2.8 + description CDATA #REQUIRED
2.9 + >
2.10 + ]>
2.11 +<zoo>
2.12 + <cage id="rabbits">Also shows off getElementById which needs the DTD.</cage>
2.13 +</zoo>
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/tests/test_valid.xml Tue Aug 26 00:34:42 2008 +0200
3.3 @@ -0,0 +1,9 @@
3.4 +<?xml version="1.0"?>
3.5 +<!DOCTYPE zoo [
3.6 + <!ATTLIST cage
3.7 + id ID #IMPLIED
3.8 + >
3.9 + ]>
3.10 +<zoo>
3.11 + <cage id="rabbits">Also shows off getElementById which needs the DTD.</cage>
3.12 +</zoo>