blob: abef3983a6f024f0e4929ddf493d60fbe1d30b7b [file] [log] [blame]
Fred Drakee85c3502000-06-29 19:28:01 +00001"""W3C Document Object Model implementation for Python.
2
Fred Drake6bcf4c22000-12-11 22:29:23 +00003The Python mapping of the Document Object Model is documented in the
4Python Library Reference in the section on the xml.dom package.
Fred Drakee85c3502000-06-29 19:28:01 +00005
6This package contains the following modules:
7
8minidom -- A simple implementation of the Level 1 DOM with namespace
Fred Drake6bcf4c22000-12-11 22:29:23 +00009 support added (based on the Level 2 specification) and other
10 minor Level 2 functionality.
11
12pulldom -- DOM builder supporting on-demand tree-building for selected
13 subtrees of the document.
Fred Drakee85c3502000-06-29 19:28:01 +000014
15"""
Fred Drake6bcf4c22000-12-11 22:29:23 +000016
17
18class Node:
19 """Class giving the NodeType constants."""
20
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
26 # values.
27
28 ELEMENT_NODE = 1
29 ATTRIBUTE_NODE = 2
30 TEXT_NODE = 3
31 CDATA_SECTION_NODE = 4
32 ENTITY_REFERENCE_NODE = 5
33 ENTITY_NODE = 6
34 PROCESSING_INSTRUCTION_NODE = 7
35 COMMENT_NODE = 8
36 DOCUMENT_NODE = 9
37 DOCUMENT_TYPE_NODE = 10
38 DOCUMENT_FRAGMENT_NODE = 11
39 NOTATION_NODE = 12
Martin v. Löwis64acf1d2000-12-13 14:21:07 +000040
41#ExceptionCode
42INDEX_SIZE_ERR = 1
43DOMSTRING_SIZE_ERR = 2
44HIERARCHY_REQUEST_ERR = 3
45WRONG_DOCUMENT_ERR = 4
46INVALID_CHARACTER_ERR = 5
47NO_DATA_ALLOWED_ERR = 6
48NO_MODIFICATION_ALLOWED_ERR = 7
49NOT_FOUND_ERR = 8
50NOT_SUPPORTED_ERR = 9
51INUSE_ATTRIBUTE_ERR = 10
52INVALID_STATE_ERR = 11
53SYNTAX_ERR = 12
54INVALID_MODIFICATION_ERR = 13
55NAMESPACE_ERR = 14
56INVALID_ACCESS_ERR = 15
57
58class DOMException(Exception):
59 """Abstract base class for DOM exceptions.
60 Exceptions with specific codes are specializations of this class."""
61
62 pass
63
64class IndexSizeErr(DOMException):
65 code = INDEX_SIZE_ERR
66
67class DomstringSizeErr(DOMException):
68 code = DOMSTRING_SIZE_ERR
69
70class HierarchyRequestErr(DOMException):
71 code = HIERARCHY_REQUEST_ERR
72
73class WrongDocumentErr(DOMException):
74 code = WRONG_DOCUMENT_ERR
75
76class InvalidCharacterErr(DOMException):
77 code = INVALID_CHARACTER_ERR
78
79class NoDataAllowedErr(DOMException):
80 code = NO_DATA_ALLOWED_ERR
81
82class NoModificationAllowedErr(DOMException):
83 code = NO_MODIFICATION_ALLOWED_ERR
84
85class NotFoundErr(DOMException):
86 code = NOT_FOUND_ERR
87
88class NotSupportedErr(DOMException):
89 code = NOT_SUPPORTED_ERR
90
91class InuseAttributeErr(DOMException):
92 code = INUSE_ATTRIBUTE_ERR
93
94class InvalidStateErr(DOMException):
95 code = INVALID_STATE_ERR
96
97class SyntaxErr(DOMException):
98 code = SYNTAX_ERR
99
100class InvalidModificationErr(DOMException):
101 code = INVALID_MODIFICATION_ERR
102
103class NamespaceErr(DOMException):
104 code = NAMESPACE_ERR
105
106class InvalidAccessErr(DOMException):
107 code = INVALID_ACCESS_ERR