]> granicus.if.org Git - python/commitdiff
Fix up a number of small problems with the DOM documentation.
authorFred Drake <fdrake@acm.org>
Fri, 26 Oct 2001 20:09:49 +0000 (20:09 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 26 Oct 2001 20:09:49 +0000 (20:09 +0000)
There's still a lot to do, but it's better now.

Doc/lib/xmldom.tex
Doc/lib/xmldomminidom.tex

index eca4c6c8b765e2182bc6a537095659804aa5943a..b97d97221361db6b0a56011a9a2b790d230b7bc9 100644 (file)
@@ -114,8 +114,15 @@ raise an \exception{ImportError}. The features list must be a sequence of
 
 % 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}}
 
@@ -358,7 +365,10 @@ Information about the notations and entities declared by a document
 (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:
@@ -381,8 +391,7 @@ 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}
@@ -589,7 +598,8 @@ DOM.  Each item is an attribute node.  Get its value with the
 
 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}}
index 884e0c5b0f52ab66e96e85c74773f1496dbe6d91..d743c7d3d9b63f56686776ad2c3b3edfd32895d2 100644 (file)
@@ -180,8 +180,10 @@ following mapping rules apply:
 
 \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
@@ -193,9 +195,12 @@ following mapping rules apply:
       \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}
 
 
@@ -203,23 +208,23 @@ The following interfaces have no implementation in
 \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