ABCDEFGHIJKLMNOPQRSTUVWXYZ

XML::DOM-ecmascript

DOM-ECMASCRIPT(1)     User Contributed Perl Documentation    DOM-ECMASCRIPT(1)



XML::Grove and DOM Level One
       XML::Grove is similar in concept to the ECMA Script Language Binding to
       DOM Level 1 Core (Appendix E of the DOM Recommendation).

       <http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-bind-
       ing.html>

       The ECMA Script Language Binding presents DOM properties as ECMA Script
       object properties.  The same is true for XML::Grove, XML::Grove
       presents DOM properties as Perl blessed hashes.

       The biggest difference between the ECMA Script Language Binding and
       XML::Grove is that XML::Grove uses a Perl hash for nodes, Perl arrays
       for NodeLists, Perl hashes for NamedNodeLists so those object classes
       don't exist in XML::Grove.  Because those classes don't exist, you use
       ordinary Perl syntax for manipulating the DOM properties (lists and
       named node lists) instead of methods like `"nextSibling()"' or
       `"replaceChild()"'.  Element attributes in XML::Grove are stored in
       Perl hashes; attribute types are available through the document object.

       Another difference is that XML::Grove attempts to marry the PerlSAX and
       DOM naming so that less (no?) name-changing occurs between using Perl-
       SAX interfaces and filters and DOM modules.  Where conflicts occur, the
       PerlSAX naming is used.

       XML::Grove uses a blessed hash for nodes, so the node type is available
       using Perl's `"ref()"' instead of using a `"nodeType()"' method and all
       class names are prefixed with `"XML::Grove::"'.

       The following object descriptions are the most basic and common pro-
       vided by many PerlSAX parsers.  PerlSAX parsers often provide addi-
       tional properties or objects, refer to your PerlSAX parser documenta-
       tion for details.

Document Object Model Level 1 Core
       Object XML::Grove::Document


       Contents    The children of this object.  This property is an array.

       Entities    The entities declared in this document.  This property is a
                   hash of XML::Grove::Entity objects keyed by entity name.

       Notations   The notations declared in this document.  This property is
                   a hash of XML::Grove::Notation objects keyed by notation
                   name.

       Object XML::Grove::Element


       Name        The tag type name for this element.  This property is a
                   string.

       Attributes  The attributes for this element.  This property is a hash
                   and it's hash values are strings (or arrays with some grove
                   builders).

       Contents    The children of this object.  This property is an array of
                   XML::Grove objects.

       Object XML::Grove::Characters


       Data        The text of the character data.  This property is a string.

       Object XML::Grove::Comment


       Data        The text of the character data.  This property is a string.

       Object XML::Grove::CData

       The "CData" object is called a "CDATASection" in DOM.

       Data        The text of the character data.  This property is a string.

       Object XML::Grove::Notation


       Name        The name of this notation.  This property is a string.

       SystemId    The system identifier of this notation.  This property is a
                   string.

       PublicId    The public identifier of this notation.  This property is a
                   string.

       Object XML::Grove::Entity


       Name        The name of this entity.  This property is a string.

       SystemId    The system identifier of this notation.  This property is a
                   string.

       PublicId    The public identifier of this notation.  This property is a
                   string.

       Notation    The notation declared for this entity.  This property is
                   either the name of the notation as a string or an
                   "XML::Grove::Notation" object.

       Object XML::Grove::PI

       The "PI" object is called a "ProcessingInstruction" in DOM.

       Target      The target of the processing instruction.  This property is
                   a string.

       Data        The text of the processing instruction.  This property is a
                   string.



perl v5.8.0                       1999-05-26                 DOM-ECMASCRIPT(1)