XML::DOM-ecmascript

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
DOM-ecmascript(3)    User Contributed Perl Documentation    DOM-ecmascript(3)



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
       PerlSAX 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 avail-
       able 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.5			  1999-08-17		    DOM-ecmascript(3)