XML::DOM::Document(3)

πŸ’– NAME πŸ’–

okay so welcome to XML::DOM::Document(3), bestie β€” this is the manual page for XML::DOM::Document, aka an XML document node in XML::DOM. It's a User Contributed Perl Documentation page, and the manual name is literally XML::DOM::Document(3) if you need to cite it iykyk. 🫢

✨ DESCRIPTION ✨

XML::DOM::Document extends XML::DOM::Node. No cap.

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 instructions, etc. cannot exist outside the context of a Document, 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 created. The way that whole family tree works? iconic. 🌳

πŸ’… METHODS πŸ’…

πŸŽ€ getDocumentElement πŸŽ€

This is a convenience method that allows direct access to the child node that is the root Element of the document. Basically: direct line to the main character element. πŸ’β™€οΈ

πŸŽ€ getDoctype πŸŽ€

The Document Type Declaration (see DocumentType) associated 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 document. 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 interface, 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 specified 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 specified name and data strings.

Parameters:

  • target β€” The target part of the processing instruction.
  • 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 undefined.

πŸ¦‹ 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_ERR β€” Raised if the element name (tagName) does not conform to the XML spec.

πŸ¦‹ createAttlistDecl (name) πŸ¦‹

Creates an AttlistDecl object.

DOMExceptions:

  • INVALID_CHARACTER_ERR β€” Raised if the element name (tagName) does not conform 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 document. 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 whenever the DOCTYPE section of the document is altered! ⚠️


okay that's the whole manual page, bestie! source/version + date: perl v5.42.0, 2022-05-23. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from