mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00

New method; this is the "alternate" access to the exception code. (Useful for Python DOM implementations that support the accessor method approach to retrieving attribute values.)
117 lines
3.3 KiB
Python
117 lines
3.3 KiB
Python
"""W3C Document Object Model implementation for Python.
|
|
|
|
The Python mapping of the Document Object Model is documented in the
|
|
Python Library Reference in the section on the xml.dom package.
|
|
|
|
This package contains the following modules:
|
|
|
|
minidom -- A simple implementation of the Level 1 DOM with namespace
|
|
support added (based on the Level 2 specification) and other
|
|
minor Level 2 functionality.
|
|
|
|
pulldom -- DOM builder supporting on-demand tree-building for selected
|
|
subtrees of the document.
|
|
|
|
"""
|
|
|
|
|
|
class Node:
|
|
"""Class giving the NodeType constants."""
|
|
|
|
# DOM implementations may use this as a base class for their own
|
|
# Node implementations. If they don't, the constants defined here
|
|
# should still be used as the canonical definitions as they match
|
|
# the values given in the W3C recommendation. Client code can
|
|
# safely refer to these values in all tests of Node.nodeType
|
|
# values.
|
|
|
|
ELEMENT_NODE = 1
|
|
ATTRIBUTE_NODE = 2
|
|
TEXT_NODE = 3
|
|
CDATA_SECTION_NODE = 4
|
|
ENTITY_REFERENCE_NODE = 5
|
|
ENTITY_NODE = 6
|
|
PROCESSING_INSTRUCTION_NODE = 7
|
|
COMMENT_NODE = 8
|
|
DOCUMENT_NODE = 9
|
|
DOCUMENT_TYPE_NODE = 10
|
|
DOCUMENT_FRAGMENT_NODE = 11
|
|
NOTATION_NODE = 12
|
|
|
|
|
|
#ExceptionCode
|
|
INDEX_SIZE_ERR = 1
|
|
DOMSTRING_SIZE_ERR = 2
|
|
HIERARCHY_REQUEST_ERR = 3
|
|
WRONG_DOCUMENT_ERR = 4
|
|
INVALID_CHARACTER_ERR = 5
|
|
NO_DATA_ALLOWED_ERR = 6
|
|
NO_MODIFICATION_ALLOWED_ERR = 7
|
|
NOT_FOUND_ERR = 8
|
|
NOT_SUPPORTED_ERR = 9
|
|
INUSE_ATTRIBUTE_ERR = 10
|
|
INVALID_STATE_ERR = 11
|
|
SYNTAX_ERR = 12
|
|
INVALID_MODIFICATION_ERR = 13
|
|
NAMESPACE_ERR = 14
|
|
INVALID_ACCESS_ERR = 15
|
|
|
|
|
|
class DOMException(Exception):
|
|
"""Abstract base class for DOM exceptions.
|
|
Exceptions with specific codes are specializations of this class."""
|
|
|
|
def __init__(self, *args, **kw):
|
|
if self.__class__ is DOMException:
|
|
raise RuntimeError(
|
|
"DOMException should not be instantiated directly")
|
|
apply(Exception.__init__, (self,) + args, kw)
|
|
|
|
def _get_code(self):
|
|
return self.code
|
|
|
|
|
|
class IndexSizeErr(DOMException):
|
|
code = INDEX_SIZE_ERR
|
|
|
|
class DomstringSizeErr(DOMException):
|
|
code = DOMSTRING_SIZE_ERR
|
|
|
|
class HierarchyRequestErr(DOMException):
|
|
code = HIERARCHY_REQUEST_ERR
|
|
|
|
class WrongDocumentErr(DOMException):
|
|
code = WRONG_DOCUMENT_ERR
|
|
|
|
class InvalidCharacterErr(DOMException):
|
|
code = INVALID_CHARACTER_ERR
|
|
|
|
class NoDataAllowedErr(DOMException):
|
|
code = NO_DATA_ALLOWED_ERR
|
|
|
|
class NoModificationAllowedErr(DOMException):
|
|
code = NO_MODIFICATION_ALLOWED_ERR
|
|
|
|
class NotFoundErr(DOMException):
|
|
code = NOT_FOUND_ERR
|
|
|
|
class NotSupportedErr(DOMException):
|
|
code = NOT_SUPPORTED_ERR
|
|
|
|
class InuseAttributeErr(DOMException):
|
|
code = INUSE_ATTRIBUTE_ERR
|
|
|
|
class InvalidStateErr(DOMException):
|
|
code = INVALID_STATE_ERR
|
|
|
|
class SyntaxErr(DOMException):
|
|
code = SYNTAX_ERR
|
|
|
|
class InvalidModificationErr(DOMException):
|
|
code = INVALID_MODIFICATION_ERR
|
|
|
|
class NamespaceErr(DOMException):
|
|
code = NAMESPACE_ERR
|
|
|
|
class InvalidAccessErr(DOMException):
|
|
code = INVALID_ACCESS_ERR
|