home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- XML::Grove and DOM Level One
-
- =head1 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-binding.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 `C<nextSibling()>' or
- `C<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
- available using Perl's `C<ref()>' instead of using a `C<nodeType()>'
- method and all class names are prefixed with `C<XML::Grove::>'.
-
- The following object descriptions are the most basic and common
- provided by many PerlSAX parsers. PerlSAX parsers often provide
- additional properties or objects, refer to your PerlSAX parser
- documentation for details.
-
- =head1 Document Object Model Level 1 Core
-
- =head2 Object XML::Grove::Document
-
- =over 12
-
- =item Contents
-
- The children of this object. This property is an array.
-
- =item Entities
-
- The entities declared in this document. This property is a hash of
- XML::Grove::Entity objects keyed by entity name.
-
- =item Notations
-
- The notations declared in this document. This property is a hash of
- XML::Grove::Notation objects keyed by notation name.
-
- =back
-
- =head2 Object XML::Grove::Element
-
- =over 12
-
- =item Name
-
- The tag type name for this element. This property is a string.
-
- =item Attributes
-
- The attributes for this element. This property is a hash and it's
- hash values are strings (or arrays with some grove builders).
-
- =item Contents
-
- The children of this object. This property is an array of XML::Grove
- objects.
-
- =back
-
- =head2 Object XML::Grove::Characters
-
- =over 12
-
- =item Data
-
- The text of the character data. This property is a string.
-
- =back
-
- =head2 Object XML::Grove::Comment
-
- =over 12
-
- =item Data
-
- The text of the character data. This property is a string.
-
- =back
-
- =head2 Object XML::Grove::CData
-
- The C<CData> object is called a C<CDATASection> in DOM.
-
- =over 12
-
- =item Data
-
- The text of the character data. This property is a string.
-
- =back
-
- =head2 Object XML::Grove::Notation
-
- =over 12
-
- =item Name
-
- The name of this notation. This property is a string.
-
- =item SystemId
-
- The system identifier of this notation. This property is a string.
-
- =item PublicId
-
- The public identifier of this notation. This property is a string.
-
- =back
-
- =head2 Object XML::Grove::Entity
-
- =over 12
-
- =item Name
-
- The name of this entity. This property is a string.
-
- =item SystemId
-
- The system identifier of this notation. This property is a string.
-
- =item PublicId
-
- The public identifier of this notation. This property is a string.
-
- =item Notation
-
- The notation declared for this entity. This property is either the
- name of the notation as a string or an C<XML::Grove::Notation> object.
-
- =back
-
- =head2 Object XML::Grove::PI
-
- The C<PI> object is called a C<ProcessingInstruction> in DOM.
-
- =over 12
-
- =item Target
-
- The target of the processing instruction. This property is a string.
-
- =item Data
-
- The text of the processing instruction. This property is a string.
-
- =back
-