summaryrefslogtreecommitdiffstats
path: root/libxml2/xstc/fixup-tests.py
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-05-03 15:21:49 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-05-03 15:21:49 (GMT)
commit4b8453f0303492a1de2dcf854555f6429fac550e (patch)
tree54abb57f4c5191452cadcac2f12feacbfc1f3218 /libxml2/xstc/fixup-tests.py
parent7617e7a38edce33eab6ca4259b416b339e07ea29 (diff)
downloadblt-4b8453f0303492a1de2dcf854555f6429fac550e.zip
blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.gz
blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.bz2
reinstall libxml2/libxslt
Diffstat (limited to 'libxml2/xstc/fixup-tests.py')
-rwxr-xr-xlibxml2/xstc/fixup-tests.py99
1 files changed, 0 insertions, 99 deletions
diff --git a/libxml2/xstc/fixup-tests.py b/libxml2/xstc/fixup-tests.py
deleted file mode 100755
index 6e33d1c..0000000
--- a/libxml2/xstc/fixup-tests.py
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/python -u
-
-import sys, os
-import libxml2
-
-
-libxml2.debugMemory(1)
-baseDir = os.path.join('msxsdtest', 'Particles')
-filenames = os.listdir(baseDir)
-mainXSD = str()
-signature = str()
-dictXSD = dict()
-
-def gatherFiles():
- for file in filenames:
- if (file[-5] in ["a", "b", "c"]) and (file[-3:] == 'xsd'):
- # newfilename = string.replace(filename, ' ', '_')
- signature = file[:-5]
- mainXSD = signature + ".xsd"
- imports = []
- for sub in filenames:
- if (mainXSD != sub) and (sub[-3:] == 'xsd') and sub.startswith(signature):
- imports.append(sub)
- if len(imports) != 0:
- dictXSD[mainXSD] = imports
-
-def debugMsg(text):
- #pass
- print "DEBUG:", text
-
-
-def fixup():
- for mainXSD in dictXSD:
- debugMsg("fixing '%s'..." % mainXSD)
- schemaDoc = None
- xpmainCtx = None
- # Load the schema document.
- schemaFile = os.path.join(baseDir, mainXSD)
- schemaDoc = libxml2.parseFile(schemaFile)
- if (schemaDoc is None):
- print "ERROR: doc '%s' not found" % mainXSD
- sys.exit(1)
- try:
- xpmainCtx = schemaDoc.xpathNewContext()
- xpmainCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema");
- xpres = xpmainCtx.xpathEval("/xs:schema")
- if len(xpres) == 0:
- print "ERROR: doc '%s' has no <schema> element" % mainXSD
- sys.exit(1)
- schemaElem = xpres[0]
- schemaNs = schemaElem.ns()
- # Select all <import>s.
- xpres = xpmainCtx.xpathEval("/xs:schema/xs:import")
- if len(xpres) != 0:
- for elem in xpres:
- loc = elem.noNsProp("schemaLocation")
- if (loc is not None):
- debugMsg(" imports '%s'" % loc)
- if loc in dictXSD[mainXSD]:
- dictXSD[mainXSD].remove(loc)
- for loc in dictXSD[mainXSD]:
- # Read out the targetNamespace.
- impTargetNs = None
- impFile = os.path.join(baseDir, loc)
- impDoc = libxml2.parseFile(impFile)
- try:
- xpimpCtx = impDoc.xpathNewContext()
- try:
- xpimpCtx.setContextDoc(impDoc)
- xpimpCtx.xpathRegisterNs("xs", "http://www.w3.org/2001/XMLSchema");
- xpres = xpimpCtx.xpathEval("/xs:schema")
- impTargetNs = xpres[0].noNsProp("targetNamespace")
- finally:
- xpimpCtx.xpathFreeContext()
- finally:
- impDoc.freeDoc()
-
- # Add the <import>.
- debugMsg(" adding <import namespace='%s' schemaLocation='%s'/>" % (impTargetNs, loc))
- newElem = schemaDoc.newDocNode(schemaNs, "import", None)
- if (impTargetNs is not None):
- newElem.newProp("namespace", impTargetNs)
- newElem.newProp("schemaLocation", loc)
- if schemaElem.children is not None:
- schemaElem.children.addPrevSibling(newElem)
- schemaDoc.saveFile(schemaFile)
- finally:
- xpmainCtx.xpathFreeContext()
- schemaDoc.freeDoc()
-
-try:
- gatherFiles()
- fixup()
-finally:
- libxml2.cleanupParser()
- if libxml2.debugMemory(1) != 0:
- print "Memory leak %d bytes" % (libxml2.debugMemory(1))
- libxml2.dumpMemory()
-