1 """W3C Document Object Model implementation for Python.
3 The Python mapping of the Document Object Model is documented in the
4 Python Library Reference in the section on the xml.dom package.
6 This package contains the following modules:
8 minidom -- A simple implementation of the Level 1 DOM with namespace
9 support added (based on the Level 2 specification) and other
10 minor Level 2 functionality.
12 pulldom -- DOM builder supporting on-demand tree-building for selected
13 subtrees of the document.
19 """Class giving the NodeType constants."""
21 # DOM implementations may use this as a base class for their own
22 # Node implementations. If they don't, the constants defined here
23 # should still be used as the canonical definitions as they match
24 # the values given in the W3C recommendation. Client code can
25 # safely refer to these values in all tests of Node.nodeType
31 CDATA_SECTION_NODE
= 4
32 ENTITY_REFERENCE_NODE
= 5
34 PROCESSING_INSTRUCTION_NODE
= 7
37 DOCUMENT_TYPE_NODE
= 10
38 DOCUMENT_FRAGMENT_NODE
= 11
44 DOMSTRING_SIZE_ERR
= 2
45 HIERARCHY_REQUEST_ERR
= 3
46 WRONG_DOCUMENT_ERR
= 4
47 INVALID_CHARACTER_ERR
= 5
48 NO_DATA_ALLOWED_ERR
= 6
49 NO_MODIFICATION_ALLOWED_ERR
= 7
52 INUSE_ATTRIBUTE_ERR
= 10
53 INVALID_STATE_ERR
= 11
55 INVALID_MODIFICATION_ERR
= 13
57 INVALID_ACCESS_ERR
= 15
60 class DOMException(Exception):
61 """Abstract base class for DOM exceptions.
62 Exceptions with specific codes are specializations of this class."""
64 def __init__(self
, *args
, **kw
):
65 if self
.__class
__ is DOMException
:
67 "DOMException should not be instantiated directly")
68 apply(Exception.__init
__, (self
,) + args
, kw
)
74 class IndexSizeErr(DOMException
):
77 class DomstringSizeErr(DOMException
):
78 code
= DOMSTRING_SIZE_ERR
80 class HierarchyRequestErr(DOMException
):
81 code
= HIERARCHY_REQUEST_ERR
83 class WrongDocumentErr(DOMException
):
84 code
= WRONG_DOCUMENT_ERR
86 class InvalidCharacterErr(DOMException
):
87 code
= INVALID_CHARACTER_ERR
89 class NoDataAllowedErr(DOMException
):
90 code
= NO_DATA_ALLOWED_ERR
92 class NoModificationAllowedErr(DOMException
):
93 code
= NO_MODIFICATION_ALLOWED_ERR
95 class NotFoundErr(DOMException
):
98 class NotSupportedErr(DOMException
):
99 code
= NOT_SUPPORTED_ERR
101 class InuseAttributeErr(DOMException
):
102 code
= INUSE_ATTRIBUTE_ERR
104 class InvalidStateErr(DOMException
):
105 code
= INVALID_STATE_ERR
107 class SyntaxErr(DOMException
):
110 class InvalidModificationErr(DOMException
):
111 code
= INVALID_MODIFICATION_ERR
113 class NamespaceErr(DOMException
):
116 class InvalidAccessErr(DOMException
):
117 code
= INVALID_ACCESS_ERR
119 from domreg
import getDOMImplementation
,registerDOMImplementation