1 #!/usr/bin/env python 2 3 import libxml2dom 4 import libxml2 5 #doc = libxml2.parseFile("XMLTools2/examples/zoo/zoo_schema.xml") 6 doc = libxml2.parseDoc("""<?xml version="1.0" encoding="iso-8859-15"?> 7 <schema xmlns="http://www.boddie.org.uk/ns/xmltools/model" 8 xmlns:database="http://www.boddie.org.uk/ns/xmltools/database"> 9 10 <def-element name="cage" database:table="CAGE"/> 11 </schema> 12 """) 13 d = libxml2dom.Node(doc) 14 15 # This works: 16 print d.childNodes[0].childNodes[1]._node.nsProp("table", 'http://www.boddie.org.uk/ns/xmltools/database') 17 print doc.children.children.next.nsProp("table", 'http://www.boddie.org.uk/ns/xmltools/database') 18 # This works only with an appropriate patch to libxml2 2.5.7: 19 print d.childNodes[0].childNodes[1].attributes[1]._node.ns() 20 # Equivalent to: 21 print d.childNodes[0].childNodes[1]._node.properties.next.ns() 22 print doc.children.children.next.properties.next.ns()