summaryrefslogtreecommitdiff
path: root/Lib/xml.py
blob: 7393c66aa2bc9343f18d6355d9bfaabe62057652 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""Core XML support for Python.

This package contains four sub-packages:

dom -- The W3C Document Object Model.  This supports DOM Level 1 +
       Namespaces.

parsers -- Python wrappers for XML parsers (currently only supports Expat).

sax -- The Simple API for XML, developed by XML-Dev, led by David
       Megginson and ported to Python by Lars Marius Garshol.  This
       supports the SAX 2 API.

etree -- The ElementTree XML library.  This is a subset of the full
       ElementTree XML release.

"""

import sys
import xmlcore

__all__ = ["dom", "parsers", "sax", "etree"]

# When being checked-out without options, this has the form
# "<dollar>Revision: x.y </dollar>"
# When exported using -kv, it is "x.y".
__version__ = "$Revision$".split()[-2:][0]


_MINIMUM_XMLPLUS_VERSION = (0, 8, 4)

try:
    import _xmlplus
except ImportError:
    sys.modules[__name__] = xmlcore
else:
    try:
        v = _xmlplus.version_info
    except AttributeError:
        # _xmlplus is too old; ignore it
        pass
    else:
        if v >= _MINIMUM_XMLPLUS_VERSION:
            _xmlplus.__path__.extend(xmlcore.__path__)
            sys.modules[__name__] = _xmlplus
        else:
            del v