Server IP : 66.29.132.122 / Your IP : 13.58.220.83 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/thread-self/root/opt/cpanel/ea-libxml2/share/doc/libxml2/python/examples/ |
Upload File : |
#!/usr/bin/env python3 import sys import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) # # Testing XML document serialization # source = libxml2.parseDoc("""<?xml version="1.0"?> <root xmlns:foo="http://example.org/foo" xmlns:bar="http://example.org/bar"> <include xmlns="http://example.org/include"> <fragment><foo:elem bar="tricky"/></fragment> </include> </root> """) target = libxml2.parseDoc("""<?xml version="1.0"?> <root xmlns:foobar="http://example.org/bar"/>""") fragment = source.xpathEval("//*[name()='fragment']")[0] dest = target.getRootElement() # do a cut and paste operation fragment.unlinkNode() dest.addChild(fragment) # do the namespace fixup dest.reconciliateNs(target) # The source tree can be freed at that point source.freeDoc() # check the resulting tree str = dest.serialize() if str != """<root xmlns:foobar="http://example.org/bar" xmlns:default="http://example.org/include" xmlns:foo="http://example.org/foo"><default:fragment><foo:elem bar="tricky"/></default:fragment></root>""": print("reconciliateNs() failed") sys.exit(1) target.freeDoc() # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print("OK") else: print("Memory leak %d bytes" % (libxml2.debugMemory(1)))