E4XML/XMLUtilities.py

changeset 0
de9c2efb9d02
child 13
1af94a91f439
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2004 - 2009 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing various XML utility functions.
8 """
9
10 def make_parser(validating):
11 """
12 Function to generate an XML parser.
13
14 First it will be tried to generate a validating parser. If
15 this attempt fails, a non validating parser is tried next.
16
17 @param validating flag indicating a validating parser is requested
18 @return XML parser object
19 """
20 if validating:
21 # see if we have a working validating parser available
22 try:
23 import _xmlplus
24 except ImportError:
25 validating = False
26 else:
27 try:
28 v = _xmlplus.version_info
29 except AttributeError:
30 validating = False
31 else:
32 if v < (0, 8, 3):
33 validating = False
34
35 if validating:
36 try:
37 from xml.sax.sax2exts import XMLValParserFactory
38 return XMLValParserFactory.make_parser()
39 except ImportError:
40 from xml.sax import make_parser as sax_make_parser
41 return sax_make_parser()
42 else:
43 from xml.sax import make_parser as sax_make_parser
44 return sax_make_parser()

eric ide

mercurial