% Should the Node documentation go here?
-In addition, \module{xml.dom} contains the \class{Node}, and the DOM
-exceptions.
+In addition, \module{xml.dom} contains a base \class{Node} class and
+the DOM exception classes. The \class{Node} class provided by this
+module does not implement any of the methods or attributes defined by
+the DOM specification; concrete DOM implementations must provide
+those. The \class{Node} class provided as part of this module does
+provide the constants used for the \member{nodeType} attribute on
+concrete \class{Node} objects; they are located within the class
+rather than at the module level to conform with the DOM
+specifications.
\subsection{Objects in the DOM \label{dom-objects}}
(including the external subset if the parser uses it and can provide
the information) is available from a \class{DocumentType} object. The
\class{DocumentType} for a document is available from the
-\class{Document} object's \member{doctype} attribute.
+\class{Document} object's \member{doctype} attribute; if there is no
+\code{DOCTYPE} declaration for the document, the document's
+\member{doctype} attribute will be set to \code{None} instead of an
+instance of this interface.
\class{DocumentType} is a specialization of \class{Node}, and adds the
following attributes:
\begin{memberdesc}[DocumentType]{name}
The name of the root element as given in the \code{DOCTYPE}
- declaration, if present. If the was no \code{DOCTYPE} declaration,
- this will be \code{None}.
+ declaration, if present.
\end{memberdesc}
\begin{memberdesc}[DocumentType]{entities}
There are also experimental methods that give this class more mapping
behavior. You can use them or you can use the standardized
-\method{getAttribute*()}-family methods on the \class{Element} objects.
+\method{getAttribute*()} family of methods on the \class{Element}
+objects.
\subsubsection{Comment Objects \label{dom-comment-objects}}
\item The type \code{DOMString} maps to Python strings.
\refmodule{xml.dom.minidom} supports either byte or Unicode
- strings, but will normally produce Unicode strings. Attributes
- of type \code{DOMString} may also be \code{None}.
+ strings, but will normally produce Unicode strings. Values
+ of type \code{DOMString} may also be \code{None} where allowed
+ to have the IDL \code{null} value by the DOM specification from
+ the W3C.
\item \keyword{const} declarations map to variables in their
respective scope
\refmodule{xml.dom.minidom} uses standard Python exceptions such
as \exception{TypeError} and \exception{AttributeError}.
-\item \class{NodeList} objects are implemented as Python's built-in
- list type, so don't support the official API, but are much more
- ``Pythonic.''
+\item \class{NodeList} objects are implemented using Python's built-in
+ list type. Starting with Python 2.2, these objects provide the
+ interface defined in the DOM specification, but with earlier
+ versions of Python they do not support the official API. They
+ are, however, much more ``Pythonic'' than the interface defined
+ in the W3C recommendations.
\end{itemize}
\refmodule{xml.dom.minidom}:
\begin{itemize}
-\item DOMTimeStamp
+\item \class{DOMTimeStamp}
-\item DocumentType (added in Python 2.1)
+\item \class{DocumentType} (added in Python 2.1)
-\item DOMImplementation (added in Python 2.1)
+\item \class{DOMImplementation} (added in Python 2.1)
-\item CharacterData
+\item \class{CharacterData}
-\item CDATASection
+\item \class{CDATASection}
-\item Notation
+\item \class{Notation}
-\item Entity
+\item \class{Entity}
-\item EntityReference
+\item \class{EntityReference}
-\item DocumentFragment
+\item \class{DocumentFragment}
\end{itemize}
Most of these reflect information in the XML document that is not of