From 6f5a5e8f68b65d37613fb0232601566ee417d11c Mon Sep 17 00:00:00 2001 From: Andy Bavier Date: Wed, 27 Jan 2010 21:31:12 +0000 Subject: [PATCH] Ignore meaningless white space in RSpec --- sfa/util/rspec.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sfa/util/rspec.py b/sfa/util/rspec.py index 26ba6735..f8910342 100644 --- a/sfa/util/rspec.py +++ b/sfa/util/rspec.py @@ -173,11 +173,19 @@ class RSpec: return self.rootNode.toprettyxml() + def __removeWhitespaceNodes(self, parent): + for child in list(parent.childNodes): + if child.nodeType == minidom.Node.TEXT_NODE and child.data.strip() == '': + parent.removeChild(child) + else: + self.__removeWhitespaceNodes(child) + def parseFile(self, filename): """ read a local xml file and store it as a dom object. """ dom = minidom.parse(filename) + self.__removeWhitespaceNodes(dom) self.rootNode = dom.childNodes[0] @@ -185,8 +193,8 @@ class RSpec: """ read an xml string and store it as a dom object. """ - xml = xml.replace('\n', '').replace('\t', '').strip() dom = minidom.parseString(xml) + self.__removeWhitespaceNodes(dom) self.rootNode = dom.childNodes[0] @@ -209,11 +217,13 @@ class RSpec: def _parseXSD(self, xsdURI): """ - Download XSD from URL, or if file, read local xsd file and set schemaDict + Download XSD from URL, or if file, read local xsd file and set + schemaDict. + + Since the schema definiton is a global namespace shared by and + agreed upon by others, this should probably be a URL. Check + for URL, download xsd, parse, or if local file, use that. """ - # Since the schema definiton is a global namespace shared by and agreed upon by - # others, this should probably be a URL. Check for URL, download xsd, parse, or - # if local file, use local file. schemaDom = None if xsdURI.startswith("http"): try: -- 2.43.0