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)