diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:21:49 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-03 15:21:49 (GMT) |
commit | 4b8453f0303492a1de2dcf854555f6429fac550e (patch) | |
tree | 54abb57f4c5191452cadcac2f12feacbfc1f3218 /libxml2/xstc/fixup-tests.py | |
parent | 7617e7a38edce33eab6ca4259b416b339e07ea29 (diff) | |
download | blt-4b8453f0303492a1de2dcf854555f6429fac550e.zip blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.gz blt-4b8453f0303492a1de2dcf854555f6429fac550e.tar.bz2 |
reinstall libxml2/libxslt
Diffstat (limited to 'libxml2/xstc/fixup-tests.py')
-rwxr-xr-x | libxml2/xstc/fixup-tests.py | 99 |
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() - |