document(3)
NAME
XML::DOM::Document - An XML document node in XML::DOM
DESCRIPTION
XML::DOM::Document extends XML::DOM::Node.
It is the main root of the XML document structure as
returned by XML::DOM::Parser::parse and
XML::DOM::Parser::parsefile.
Since elements, text nodes, comments, processing instruc
tions, etc. cannot exist outside the context of a Docu
ment, the Document interface also contains the factory
methods needed to create these objects. The Node objects
created have a getOwnerDocument method which associates
them with the Document within whose context they were cre
ated.
METHODS
- getDocumentElement
- This is a convenience method that allows direct access
to the child node that is the root Element of the doc
ument. - getDoctype
- The Document Type Declaration (see DocumentType) asso
ciated with this document. For HTML documents as well
as XML documents without a document type declaration
this returns undef. The DOM Level 1 does not support
editing the Document Type Declaration. - Not In DOM Spec: This implementation allows editing the doctype. See XML::DOM::ignoreReadOnly for details.
- getImplementation
- The DOMImplementation object that handles this docu
ment. A DOM application may use objects from multiple
implementations. - createElement (tagName)
- Creates an element of the type specified. Note that
the instance returned implements the Element inter
face, so attributes can be specified directly on the
returned object. - DOMExceptions:
- · INVALID_CHARACTER_ERR
Raised if the tagName does not conform to the XML
spec. - createTextNode (data)
- Creates a Text node given the specified string.
- createComment (data)
- Creates a Comment node given the specified string.
- createCDATASection (data)
- Creates a CDATASection node given the specified
string. - createAttribute (name [, value [, specified ]])
- Creates an Attr of the given name. Note that the Attr
instance can then be set on an Element using the
setAttribute method. - Not In DOM Spec: The DOM Spec does not allow passing
the value or the specified property in this method. In
this implementation they are optional. - Parameters:
value The attribute's value. See Attr::setValue
- for details.
If the value is not supplied, the speci
- fied property is set to 0.
specified Whether the attribute value was specified
- or whether the default
value was used. If not supplied, it's
- assumed to be 1.
- DOMExceptions:
- · INVALID_CHARACTER_ERR
Raised if the name does not conform to the XML
spec. - createProcessingInstruction (target, data)
- Creates a ProcessingInstruction node given the speci
fied name and data strings. - Parameters:
target The target part of the processing instruc
- tion.
data The data for the node.
- DOMExceptions:
- · INVALID_CHARACTER_ERR
Raised if the target does not conform to the XML
spec. - createDocumentFragment
- Creates an empty DocumentFragment object.
- createEntityReference (name)
- Creates an EntityReference object.
- Additional methods not in the DOM Spec
- getXMLDecl and setXMLDecl (xmlDecl)
- Returns the XMLDecl for this Document or undef if none
was specified. Note that XMLDecl is not part of the
list of child nodes. - setDoctype (doctype)
- Sets or replaces the DocumentType. NOTE: Don't use
appendChild or insertBefore to set the DocumentType.
Even though doctype will be part of the list of child
nodes, it is handled specially. - getDefaultAttrValue (elem, attr)
- Returns the default attribute value as a string or
undef, if none is available. - Parameters:
elem The element tagName.
attr The attribute name. - getEntity (name)
Returns the Entity with the specified name.
- createXMLDecl (version, encoding, standalone)
Creates an XMLDecl object. All parameters may be unde
fined. - createDocumentType (name, sysId, pubId)
Creates a DocumentType object. SysId and pubId may be
undefined. - createNotation (name, base, sysId, pubId)
Creates a new Notation object. Consider using
XML::DOM::DocumentType::addNotation! - createEntity (parameter, notationName, value, sysId,
pubId, ndata)Creates an Entity object. Consider using
XML::DOM::DocumentType::addEntity! - createElementDecl (name, model)
Creates an ElementDecl object.DOMExceptions:· INVALID_CHARACTER_ERRRaised if the element name (tagName) does not con
form to the XML spec. - createAttlistDecl (name)
- Creates an AttlistDecl object.
- DOMExceptions:
- · INVALID_CHARACTER_ERR
Raised if the element name (tagName) does not con
form to the XML spec. - expandEntity (entity [, parameter])
- Expands the specified entity or parameter entity (if
parameter=1) and returns its value as a string, or
undef if the entity does not exist. (The entity name
should not contain the '%', '&' or ';' delimiters.) - check ( [$checker] )
- Uses the specified XML::Checker to validate the docu
ment. If no XML::Checker is supplied, a new
XML::Checker is created. See XML::Checker for
details. - check_sax ( [$checker] )
- Similar to check() except it uses the SAX interface to
XML::Checker instead of the expat interface. This
method may disappear or replace check() at some time. - createChecker ()
- Creates an XML::Checker based on the document's DTD.
The $checker can be reused to check any elements
within the document. Create a new XML::Checker when
ever the DOCTYPE section of the document is altered!