1 #!/usr/bin/env python 2 3 import libxml2dom, xml.dom.minidom 4 5 def test(document, e): 6 e.setAttributeNS("xxx", "yyy", "zzz") 7 e.setAttributeNS("xxx", "yyy", "zzz") 8 e.setAttributeNS("xxx", "x:yyy", "zzz") 9 e.setAttributeNS("xxx", "x:yyy", "zzz") 10 e2 = document.createElementNS("DAV:", "d:abc") 11 e.appendChild(e2) 12 e2.setAttributeNS(None, "pqr", "xyz") 13 e2.setAttributeNS("DAV:", "qrs", "tuv") 14 e3 = document.createElementNS(None, "def") 15 e2.appendChild(e3) 16 e3.setAttributeNS("DAV:", "fgh", "ijk") 17 e3.setAttributeNS(None, "nop", "wxy") 18 19 print "Creating libxml2dom document..." 20 print 21 22 document = libxml2dom.createDocument(None, "doc", None) 23 e = document.xpath("*")[0] 24 test(document, e) 25 print document.toString(prettyprint=1) 26 27 print "Creating minidom document..." 28 print 29 30 document = xml.dom.minidom.getDOMImplementation().createDocument(None, "doc", None) 31 e = document.documentElement 32 test(document, e) 33 print document.toprettyxml() 34 35 try: 36 from xml.dom.ext import PrettyPrint 37 PrettyPrint(document) 38 except ImportError: 39 print "PrettyPrint not tested." 40 41 try: 42 import pxdom 43 44 print "Creating pxdom document..." 45 print 46 47 document = pxdom.getDOMImplementation("").createDocument(None, "doc", None) 48 e = document.documentElement 49 test(document, e) 50 out = pxdom.getDOMImplementation("").createDOMSerializer() 51 print out.writeToString(document) 52 except ImportError: 53 print "pxdom not tested." 54 55 # vim: tabstop=4 expandtab shiftwidth=4