summaryrefslogtreecommitdiffstats
path: root/libxml2/xstc/fixup-tests.py
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-11-17 21:09:46 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-11-17 21:09:46 (GMT)
commitfc7f7edd0b8011cb71573b15462ef83068d9e54b (patch)
tree459fb7d1a9611f563e3000386df5cb7cdf506916 /libxml2/xstc/fixup-tests.py
parent4f65b25b474bf534e40c3d3aa47d43e8457fcc9a (diff)
downloadblt-fc7f7edd0b8011cb71573b15462ef83068d9e54b.zip
blt-fc7f7edd0b8011cb71573b15462ef83068d9e54b.tar.gz
blt-fc7f7edd0b8011cb71573b15462ef83068d9e54b.tar.bz2
local fork libxml2
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()
-