"Fossies" - the Fresh Open Source Software Archive 
Member "svnchecker-0.3/checks/XMLValidator.py" (9 Jul 2008, 1268 Bytes) of package /linux/privat/old/svnchecker-0.3.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "XMLValidator.py" see the
Fossies "Dox" file reference documentation.
1 # Copyright 2008 German Aerospace Center (DLR)
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 """ Checks XML files for correctness. """
16
17 from xml.dom import minidom
18 from xml.parsers import expat
19
20 def run(transaction, config):
21
22 check = config.getArray("XMLValidator.CheckFiles", [".*\.xml"])
23 ignore = config.getArray("XMLValidator.IgnoreFiles", [])
24 files = transaction.getFiles(check, ignore)
25
26 msg= ""
27 for filename, attribute in files.iteritems():
28 if attribute in ["A", "U"]:
29 try:
30 minidom.parse(transaction.getFile(filename))
31 except expat.ExpatError, e:
32 msg += "XML Validation error in file %r: %s" % (filename, e)
33
34 if msg:
35 return (msg, 1)
36 else:
37 return ("", 0)