Info Node: (python2.1-lib.info)minidom and the DOM standard
(python2.1-lib.info)minidom and the DOM standard
minidom and the DOM standard
----------------------------
The `xml.dom.minidom' module is essentially a DOM 1.0-compatible DOM
with some DOM 2 features (primarily namespace features).
Usage of the DOM interface in Python is straight-forward. The
following mapping rules apply:
* Interfaces are accessed through instance objects. Applications
should not instantiate the classes themselves; they should use the
creator functions available on the `Document' object. Derived
interfaces support all operations (and attributes) from the base
interfaces, plus any new operations.
* Operations are used as methods. Since the DOM uses only `in'
parameters, the arguments are passed in normal order (from left to
right). There are no optional arguments. `void' operations
return `None'.
* IDL attributes map to instance attributes. For compatibility with
the OMG IDL language mapping for Python, an attribute `foo' can
also be accessed through accessor methods `_get_foo()' and
`_set_foo()'. `readonly' attributes must not be changed; this is
not enforced at runtime.
* The types `short int', `unsigned int', `unsigned long long', and
`boolean' all map to Python integer objects.
* The type `DOMString' maps to Python strings. `xml.dom.minidom'
supports either byte or Unicode strings, but will normally produce
Unicode strings. Attributes of type `DOMString' may also be
`None'.
* `const' declarations map to variables in their respective scope
(e.g. `xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE'); they
must not be changed.
* `DOMException' is currently not supported in `xml.dom.minidom'.
Instead, `xml.dom.minidom' uses standard Python exceptions such as
`TypeError' and `AttributeError'.
* `NodeList' objects are implemented as Python's built-in list type,
so don't support the official API, but are much more "Pythonic."
The following interfaces have no implementation in `xml.dom.minidom':
* DOMTimeStamp
* DocumentType (added in Python 2.1)
* DOMImplementation (added in Python 2.1)
* CharacterData
* CDATASection
* Notation
* Entity
* EntityReference
* DocumentFragment
Most of these reflect information in the XML document that is not of
general utility to most DOM users.