DOM(3) User Contributed Perl Documentation DOM(3)NAMEXML::Sablotron::DOM - The DOM interface to Sablotron's internal struc-
tures
SYNOPSIS
use XML::Sablotron::DOM;
my $situa = new XML::Sablotron::Situation();
my $doc = new XML::Sablotron::DOM::Document(SITUATION => $sit);
my $e = $doc->createElement($situa, "foo");
my $t = $doc->createTextNode($situa, "this is my text");
print $doc->toString();
DESCRIPTION
Sablotron uses internally the DOM-like data structures to represent
parsed XML trees. In the "sdom.h" header file is defined a subset of
functions allowing the DOM access to these structures.
What is it good for
You may find this module useful if you need to
* access parsed trees
* build trees on the fly
* pass parsed/built trees into XSLT processor
Situation
There is one significant extension to the DOM specification. Since
Sablotron is designed to support multithreading processing (and well
reentrant code too), you need create and use special context for error
processing. This context is called the situation.
An instance of this object MUST be passed as the first parameter to
almost all calls in the "XML::Sablotron::DOM" code.
Some easy-to-use default behavior may be introduced in later releases.
See "perldoc XML::Sablotron" for more details.
MEMORY ISSUES
Perl objects representing nodes of the DOM tree live independently on
internal structures of Sablotron. If you create and populate the docu-
ment, its structure is not related to the lifecycle of your Perl vari-
ables. It is good for you, but there are two exceptions to this:
* freeing the document
* accessing the node after the document is destroyed
As results from above, you have to force XML::Sablotron::DOM to free
document, if you want. Use
$doc->freeDocument($sit);
to to it. Another way is to use the autodispode feature (see the docu-
mentation for the method autodispose and document constructor).
If you will try to access the node, which was previously disposed by
Sablotron (perhaps with the all tree), your Perl code will die with
exception -1. Use "eval {};" to avoid program termination.
PACKAGES
The "XML::Sablotron::DOM" defines several packages. Just will be cre-
ated manually in your code; they are mostly returned as a return values
from many functions.
XML::Sablotron::DOM
The "XML::Sablotron::DOM" package is almost empty, and serves as a par-
ent module for the other packages.
By default this module exports no symbols into the callers package. If
want to use some predefined constants or functions, you may use
use XML::Sablotron::DOM qw( :constants :functions );
constants
Constants are defined for:
* node types
"ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE,
ENTITY_REFERENCE_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE,
COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, DOCUMENT_FRAG-
MENT_NODE, NOTATION_NODE, OTHER_NODE"
* exception codes
"SDOM_OK, INDEX_SIZE_ERR, DOMSTRING_SIZE_ERR, HIERARCHY_ERR,
WRONG_DOCUMENT_ERR, INVALID_CHARACTER_ERR, NO_DATA_ALLOWED_ERR,
NO_MODIFICATION_ALLOWED_ERR, NOT_FOUND_ERR, NOT_SUPPORTED_ERR,
INUSE_ATTRIBUTE_ERR, INVALID_STATE_ERR, SYNTAX_ERR, INVALID_MODIFI-
CATION_ERR, NAMESPACE_ERR, INVALID_ACCESS_ERR,
INVALID_NODE_TYPE_ERR, QUERY_PARSE_ERR QUERY_EXECUTION_ERR, NOT_OK"
parse
This function parses the document specified by the URI. There is cur-
rently no support for scheme handler for this operation (see
XML::Sablotron) but it will be added soon.
Function returns the XML::Sablotron::DOM::Document object instance.
XML::Sablotron::DOM::parse($sit, $uri);
$sit
The situation to be used.
$uri
The URI of the document to be parsed.
parseBuffer
This function parses the literal data specified.
XML::Sablotron::DOM::parseBuffer($sit, $data);
$sit
The situation to be used.
$data
The string containing the XML data to be parsed.
parseStylesheet
This function parses the stylesheet specified by the URI. There is cur-
rently no support for scheme handler for this operation (see
XML::Sablotron) but it will be added soon.
Function returns the XML::Sablotron::DOM::Document object instance.
XML::Sablotron::DOM::parseStylesheet($sit, $uri);
$sit
The situation to be used.
$uri
The URI of the stylesheet to be parsed.
parseStylesheetBuffer
This function parses the stylesheet given by the literal data.
XML::Sablotron::DOM::parseStylesheetBuffer($sit, $data);
$sit
The situation to be used.
$data
The string containing the stylesheet to be parsed.
XML::Sablotron::DOM::Node
This package is used to represent the Sablotron internal representation
of the node. It is the common ancestor of all other types.
equals
Check if the to perl representations of the node represent the same
node in the DOM document. Not in DOM spec.
Synopsis:
$node1->equals($node2);
$node2
The node to be compared to.
getNodeName
For ELEMENT_NODE and ATTRIBUTE_NODE returns the name of the node. For
other node types return as follows:
TEXT_NODE => "#text", CDATA_SECTION_NODE => "#cdata-section", COM-
MENT_NODE => "#comment", DOCUMENT_NODE => "#document", PROCESS-
ING_INSTRUCTION_NODE => target of this node
Not in DOM spec.
Synopsis:
$node->getNodeName([$situa]);
$situa
The situation to be used (optional).
setNodeName
Sets the name of the node. Not in DOM spec.
Exceptions:
NO_MODIFICATION_ALLOWED_ERR
for TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE and DOCUMENT_NODE
for ATTRIBUTE_NODE:if attempt to set name of attribute, which
defines namespace used by coresponding element or by another
attribute of coresponding element
NAMESPACE_ERR
for ELEMENT_NODE:if unknown prefix is used to set name for
ATTRIBUTE_NODE:if attempt to change non-namespace attribute to
namespace attribute a vice versa
Synopsis:
$node->setNodeName($name [, $situa]);
$name
The new node name.
$situa
The situation to be used (optional).
nodeName
Gets or sets the name of the node.
Exceptions:
see getNodeName, setNodeName
Synopsis:
$node->nodeName([$situa]);
$node->nodeName($name [, $situa]);
$name
The new node name.
$situa
The situation to be used (optional). If used, cannot be undef.
getNodeValue
Returns the value of ATTRIBUTE_NODE, the content of TEXT_NODE,
CDATA_SECTION_NODE and COMMENT_NODE, the body of PROCESSING_INSTRUC-
TION_NODE and otherwise returns undef. Not in DOM spec.
Synopsis:
$node->getNodeValue([$situa]);
$situa
The situation to be used (optional).
setNodeValue
Sets the content of the node for TEXT_NODE, CDATA_SECTION_NODE and COM-
MENT_NODE, the value of ATTRIBUTE_NODE, the body of PROCESSING_INSTRUC-
TION_NODE. Not in DOM spec.
Exceptions:
NO_MODIFICATION_ALLOWED_ERR
for ELEMENT_NODE, DOCUMENT_NODE
NAMESPACE_ERR
for ATTRIBUTE_NODE, if attempt to change value of names-
pace-attribute, which prefix is used by owning element or it's
attribute
Synopsis:
$node->setNodeValue($value [, $situa]);
$value
The new node value.
$situa
The situation to be used (optional).
nodeValue
Gets or sets the content of the node for ATTRIBUTE_NODE, TEXT_NODE,
CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE and COMMENT_NODE.
Exceptions:
see getNodeValue, setNodeValue
Synopsis:
$node->nodeValue([$situa]);
$node->nodeValue($value [, $situa]);
$value
The new node value.
$situa
The situation to be used (optional). If used, cannot be undef.
getNodeType
Returns the node type. See "XML::Sablotron::DOM" for more details. Not
in DOM spec.
Synopsis:
$node->getNodeType([$situa]);
$situa
The situation to be used (optional).
nodeType
Returns the node type. See "XML::Sablotron::DOM" for more details.
Synopsis:
$node->nodeType([$situa]);
$situa
The situation to be used (optional).
getParentNode
Returns the parent node, if there is any. Otherwise returns undef.
Undefined value is always returned for the DOCUMENT_NODE. Not in DOM
spec.
Synopsis:
$node->getParentNode([$situa]);
$situa
The situation to be used (optional).
parentNode
Returns the parent node, if there is any. Otherwise returns undef.
Undefined value is always returned for the DOCUMENT_NODE.
Synopsis:
$node->parentNode([$situa]);
$situa
The situation to be used (optional).
getChildNodes
Returns the reference to the array of all child nodes of given node.
This array is NOT alive, i.e. the content of once created array does
not reflect the changes of DOM tree. Not in DOM spec.
Synopsis:
$node->getChildNodes([$situa]);
$situa
The situation to be used (optional).
childNodesArr
Returns the reference to the array of all child nodes of given node.
This array is NOT alive, i.e. the content of once created array does
not reflect the changes of DOM tree. Not in DOM spec.
Synopsis:
$node->childNodesArr([$situa]);
$situa
The situation to be used (optional).
childNodes
Returns the reference to the instance of XML::Sablotron::DOM::NodeList.
This array is alive, i.e. the content of once created array does
reflect the changes of DOM tree.
Synopsis:
see XML::Sablotron::DOM::NodeList
getFirstChild
Get the first child of the node or undef. Not in DOM spec.
Synopsis:
$node->getFirstChild([$situa]);
$situa
The situation to be used (optional).
firstChild
Get the first child of the node or undef.
Synopsis:
$node->firstChild([$situa]);
$situa
The situation to be used (optional).
getLastChild
Get the last child of the node or undef. Not in DOM spec.
Synopsis:
$node->getLastChild([$situa]);
$situa
The situation to be used (optional).
lastChild
Get the last child of the node or undef.
Synopsis:
$node->lastChild([$situa]);
$situa
The situation to be used (optional).
getPreviousSibling
Returns the node immediately preceding the node. Returns undef, if
there is no such node. Not in DOM spec.
Synopsis:
$node->getPreviousSibling([$situa]);
$situa
The situation to be used (optional).
previousSibling
Returns the node immediately preceding the node. Returns undef, if
there is no such node.
Synopsis:
$node->previousSibling([$situa]);
$situa
The situation to be used (optional).
getNextSibling
Returns the node immediately following the node. Returns undef, if
there is no such node. Not in DOM spec.
Synopsis:
$node->getNextSibling([$situa]);
$situa
The situation to be used (optional).
nextSibling
Returns the node immediately following the node. Returns undef, if
there is no such node.
Synopsis:
$node->nextSibling([$situa]);
$situa
The situation to be used (optional).
attributes
Returns undef. Implemented in XML::Sablotron::DOM::Element.
getOwnerDocument
Returns the document owning the node. It is always the document, which
created this node. For document itself the return value is undef. Not
in DOM spec.
Synopsis:
$node->getOwnerDocument([$situa]);
$situa
The situation to be used (optional).
ownerDocument
Returns the document owning the node. It is always the document, which
created this node. For document itself the return value is undef.
Synopsis:
$node->ownerDocument([$situa]);
$situa
The situation to be used (optional).
insertBefore
Makes a new node the child of thexpression to be replacede node. It is
put right before the reference node. If the reference node is not
defined, the new node is appended to the child list.
Exceptions:
HIERARCHY_REQUEST_ERR
Raised if the node doesn't allow children of given type.
WRONG_DOCUMENT_ERR
Raised if the new node is not owned by the same document as the
node.
Synopsis:
$node->insertBefore($new_node, $ref_node [, $situa]);
$new_node
The inserted node.
$ref_node
The reference node. The new node is to be inserted right before
this node. May be undef; in this case the new node is appended.
$situa
The situation to be used (optional).
replaceChild
Replace the child node with the new one. Returns replaced (old) child.
Exceptions:
HIERARCHY_REQUEST_ERR
Raised if the node doesn't allow children of given type.
WRONG_DOCUMENT_ERR
Raised if the new node is not owned by the same document as the
node.
NOT_FOUND_ERR
Raised if the replaced node is not the child of the node.
Synopsis:
$node->replaceChild($child, $old_child [, $situa]);
$child
The new child to be inserted (in the place of the $old_child). The
new child is removed from it's parent at first, if needed.
$old_child
The node to be replaced.
$situa
The situation to be used (optional).
removeChild
Remove the child node from the list of children of the node.
Exceptions:
NOT_FOUND_ERR
Raised if the removed node is not the child of the node.
Synopsis:
$node->removeChild($child, [, $situa]);
$child
The node to be removed.
$situa
The situation to be used (optional).
appendChild
Appends the new node to the list of children of the node.
Exceptions:
HIERARCHY_REQUEST_ERR
Raised if the node doesn't allow children of given type.
WRONG_DOCUMENT_ERR
Raised if the new node is not owned by the same document as the
node.
Synopsis:
$node->appendChild($child, [$situa]);
$child
The node to be appended.
$situa
The situation to be used (optional).
hasChildNodes
Returns the count of child nodes.
Synopsis:
$node->hasChildNodes([$situa]);
$situa
The situation to be used (optional).
cloneNode
Returns the copy of node.
Exceptions:
INVALID_NODE_TYPE_ERR
Raised if the node is document.
Synopsis:
$node->cloneNode($deep [, $situa]);
$deep
Boolean flag causing deep copying of node.
$situa
The situation to be used (optional).
normalize
Does and returns nothing.
isSupported
Returns false (exactly 0).
namespaceURI
Returns uri of the namespace, in which node is.
Synopsis:
$node->namespaceURI([$situa]);
$situa
The situation to be used (optional).
prefix
Gets or sets prefix of the node.
Synopsis:
$node->prefix([$situa]);
$node->prefix($prefix [, $situa]);
$prefix
The new value of node prefix.
$situa
The situation to be used (optional). If used, cannot be undef.
localName
Returns local name of the node.
Synopsis:
$node->localName([$situa]);
$situa
The situation to be used (optional).
hasAttributes
Returns false (exactly 0).
xql
Executes the XPath expression and returns the ARRAYREF of resulting
nodes. Not in DOM spec.
Synopsis:
$node->xql($expr [, $situa]);
$expr
The expression to be replaced.
$situa
The situation to be used (optional).
xql_ns
Executes the XPath expression and returns the ARRAYREF of resulting
nodes. Not in DOM spec.
Synopsis:
$node->xql($expr, $nsmap [, $situa]);
$expr
The expression to be replaced.
$nsmap
Hashref to namespace mappings like { prefix => uri, ...}
$situa
The situation to be used (optional).
XML::Sablotron::DOM::Document
Represents the whole DOM document (the "/" root element).
new
Create the new empty document. Not in DOM spec.
Synopsis:
$doc = XML::Sablotron::DOM::Document->new([AUTODISPOSE => $ad]);
$ad Specifies if the document is to be deleted after the last Perl ref-
erence is dropped,
autodispose
Reads or set the autodispose flag, This flag causes, that the document
is destroyed after the last Perl reference is undefined. Not in DOM
spec.
Synopsis:
$doc->autodispose([$ad]);
$ad Specifies if the document is to be deleted after the last Perl ref-
erence is dropped,
freeDocument
Disposes all memory allocated by Sablotron for the DOM document. This
is the only way how to do it. See "MEMORY ISSUES" for more details.
Not in DOM spec.
Synopsis:
$doc->freeDocument([$situa]);
$situa
The situation to be used (optional).
toString
Serializes the document tree into the string representation. Not in
DOM spec.
Synopsis:
$doc->toString([$situa])
$situa
The situation to be used (optional).
documentElement
Returns the root element of the document.
Synopsis:
$doc->documentElement([$situa])
$situa
The situation to be used (optional).
createElement
Creates the new ELEMENT_NODE. The parent of the node is not set; the
owner document is set to the document.
Synopsis:
$doc->createElement($name [, $situa]);
$name
The new element name.
$situa
The situation to be used (optional).
createTextNode
Creates the new TEXT_NODE. The parent of the node is not set; the owner
document is set to the document.
Synopsis:
$doc->createTextNode($data [, $situa]);
$data
The initial value of the node.
$situa
The situation to be used (optional).
createComment
Creates the new COMMENT_NODE. The parent of the node is not set; the
owner document is set to the document.
Synopsis:
$doc->createComment($data [, $situa]);
$data
The initial value of the node.
$situa
The situation to be used (optional).
createCDATASection
Creates the new CDATA_SECTION_NODE. The parent of the node is not set;
the owner document is set to the document.
Synopsis:
$doc->createCDATASection($data [, $situa]);
$data
The initial value of the node.
$situa
The situation to be used (optional).
createProcessingInstruction
Creates the new PROCESSING_INSTRUCTION_NODE. The parent of the node is
not set; the owner document is set to the document.
Synopsis:
$doc->createProcessingInstruction($target, $data [, $situa]);
$target
The target for the PI.
$data
The data for the PI.
$situa
The situation to be used (optional).
createAttribute
Creates the new attribute. The owner document is set to the document.
Synopsis:
$doc->createAttribute($name [, $situa]);
$name
The name of the attribute.
$situa
The situation to be used (optional).
cloneNode
Clone the node. The children of the node may be cloned too. The cloned
node may be from another document; cloned nodes are always owned by the
calling document. Parent of the cloned node is not set. Not in DOM
spec.
Synopsis:
$doc->cloneNode($node, $deep [, $situa]);
$node
The node to be cloned.
$deep
If true, all children of the node are cloned too.
$situa
The situation to be used (optional).
importNode
Clone the node. The children of the node may be cloned too. The cloned
node may be from another document; cloned nodes are always owned by the
calling document. Parent of the cloned node is not set.
Synopsis:
$doc->importNode($node, $deep [, $situa]);
$node
The node to be cloned.
$deep
If true, all children of the node are cloned too.
$situa
The situation to be used (optional).
createElementNS
Creates the new element. The parent of the node is not set; the owner
document is set to the document.
Exceptions:
INVALID_CHARACTER_ERR
Raised if the specified qualified name contains an illegal charac-
ter.
NAMESPACE_ERR
Raised if the qname is malformed, if the qname has a prefix and the
namespaceUri is undefined, or if the qname has a prefix that is
"xml" and the namespaceUri is different from
"http://www.w3.org/XML/1998/namespace".
Synopsis:
$doc->createElementNS($namespaceUri, $qname [, $situa]);
$namespaceUri
The uri of namespace, where the created element exist in.
$qname
The qualified name of created element.
$situa
The situation to be used (optional).
createAttributeNS
Creates the new attribute. The owner document is set to the document.
Exceptions:
INVALID_CHARACTER_ERR
Raised if the specified qualified name contains an illegal charac-
ter.
NAMESPACE_ERR
Raised if the qname is malformed, if the qname has a prefix and the
namespaceUri is undefined, or if the qname has a prefix that is
"xml" and the namespaceUri is different from
"http://www.w3.org/XML/1998/namespace", or if the qualifiedName is
"xmlns" and the namespaceURI is different from
"http://www.w3.org/2000/xmlns/".
Synopsis:
$doc->createAttributeNS($namespaceUri, $qname [, $situa]);
$namespaceUri
The uri of namespace, where the created attribute exist in.
$qname
The qualified name of created attribute.
$situa
The situation to be used (optional).
XML::Sablotron::DOM::Element
Represents the element of the tree.
tagName
Returns the element name.
Synopsis:
$e->tagName([$situa]);
$situa
The situation to be used (optional).
getAttribute
Retrieves an attribute value by name.
Synopsis:
$value = $e->getAttribute($name [, $situa]);
$name
The name of queried attribute.
$situa
The situation to be used (optional).
setAttribute
If attribute with specified name already exists, sets its value, other-
wise inserts new attribute and sets its value.
Synopsis:
$e->setAttribute($name, $value [, $situa]);
$name
The name of attribute to be set.
$value
The value of the new attribute.
$situa
The situation to be used (optional).
getAttributes
Returns the reference to the hash of all attributes of the element.
This hash is NOT alive, i.e. the content of once created hash does not
reflect the changes of DOM tree. Not in DOM spec.
Synopsis:
$hashref = $e->getAttributes([$situa]);
$situa
The situation to be used (optional).
setAttributes
Calls $e->setAttribute for each name/value pair of referenced hash.
Not in DOM spec.
Synopsis:
$e->setAttributes($hashref [, $situa]);
$hashref
The HASHREF value. Referenced hash contains name/value pair to be
used.
$situa
The situation to be used (optional).
attributes
Named node map of element attributes. This object IS alive. See
XML::Sablotron::DOM::NamedNodeMap.
Synopsis:
$e->attributes->method_of_NamedNodeMap;
removeAttribute
Removes an attribute by name.
Synopsis:
$e->removeAttribute($name [, $situa]);
$name
The name of attribute to be removed.
$situa
The situation to be used (optional).
getAttributeNode
Retrieves an attribute node by name.
Synopsis:
$node = $e->getAttributeNode($name [, $situa]);
$name
The name of queried attribute.
$situa
The situation to be used (optional).
setAttributeNode
Adds a new attribute node. If an attribute with that name is already
present in the element, it is replaced by the new one.
Exceptions:
WRONG_DOCUMENT_ERR
Raised if the $att is from different document as $e.
INUSE_ATTRIBUTE_ERR
Raised if $att is attribute from another element.
Synopsis:
$replaced = $e->setAttributeNode($att [, $situa]);
$att
The new attribute node.
$situa
The situation to be used (optional).
removeAttributeNode
Removes specified attribute and returns it.
Exceptions:
NO_MODIFICATION_ALLOWED_ERR
Raised if this node is read-only.
NOT_FOUND_ERR
Raised if attNode is not an attribute of the element.
Synopsis:
$removed = $e->removeAttributeNode($attNode [, $situa]);
$attNode
The attribute node to be removed.
$situa
The situation to be used (optional).
getAttributeNS
Retrieves an attribute value by local name and namespace URI.
Synopsis:
$value = $e->getAttributeNS($nsURI, $localName [, $situa]);
$nsURI
The namespace URI of queried attribute.
$localName
The local name of queried attribute.
$situa
The situation to be used (optional).
setAttributeNS
If attribute with specified namespace URI and local name already
exists, sets its value and prefix; otherwise inserts new attribute and
sets its value.
Synopsis:
$removed = $e->setAttributeNS($nsURI, $qName, $value [, $situa]);
$nsURI
The namespace URI of attribute to be set.
$qName
The qualified name of attribute to be set.
$value
The value of the new attribute.
$situa
The situation to be used (optional).
removeAttributeNS
Removes an attribute by local name and namespace URI.
Exceptions:
NO_MODIFICATION_ALLOWED_ERR
Raised if this node is read-only.
Synopsis:
$e->removeAttributeNS($namespaceURI, $localName [, $situa]);
$namespaceURI
The URI of attribute to be removed.
$localName
The local name of attribute to be removed.
$situa
The situation to be used (optional).
getAttributeNodeNS
Retrieves an attribute by local name and namespace URI.
Synopsis:
$node = $e->getAttributeNodeNS($nsURI, $localName [, $situa]);
$nsURI
The namespace URI of queried attribute.
$localName
The local name of queried attribute.
$situa
The situation to be used (optional).
setAttributeNodeNS
If attribute with the same namespace URI and local name already exists,
replaces it; otherwise inserts specified attribute.
Synopsis:
$replaced = $e->setAttributeNS($att [, $situa]);
$att
The attribute to be set.
$situa
The situation to be used (optional).
hasAttribute
Returns true if attribute with the specified name already exists,
(exactly returns 1); otherwise returns false (exactly 0).
Synopsis:
$e->hasAttribute($name [, $situa]);
$name
The name of queried attribute.
$situa
The situation to be used (optional).
hasAttributeNS
Returns true if attribute with the specified namespace URI and local
name already exists, (exactly returns 1); otherwise returns false
(exactly 0).
Synopsis:
$e->hasAttribute($nsURI, $localName [, $situa]);
$nsURI
The namespace URI of queried attribute.
$localName
The local name of queried attribute.
$situa
The situation to be used (optional).
toString
Serializes the element and its subtree into the string representation.
Synopsis:
$e->toString([$situa])
$situa
The situation to be used (optional).
XML::Sablotron::DOM::Attribute
Represents the attribute.
name
Returns the attribute name.
Synopsis:
$a->name([$situa])
$situa
The situation to be used (optional).
specified
Returns true (exactly 1).
Synopsis:
$a->specified([$situa])
$situa
The situation to be used (optional).
value
Gets or sets value of the attribute. See
XML::Sablotron::DOM::Node::nodeValue.
Synopsis:
$a->value([$situa])
$a->value($value [, $situa])
$value
The value to be set.
$situa
The situation to be used (optional).
ownerElement
Returns element owning the attribute, if any.
Synopsis:
$e = $a->ownerElement([$situa])
$situa
The situation to be used (optional).
XML::Sablotron::DOM::CharacterData
Represents class, which serves as parent for another DOM objects.
data
Gets or sets character data of the node. See
XML::Sablotron::DOM::nodeValue
Synopsis:
$node->data([$situa])
$node->data($data [, $situa])
$data
The character data to be set.
$situa
The situation to be used (optional).
length
Returns length of character data of the node.
Synopsis:
$node->length([$situa])
$situa
The situation to be used (optional).
substringData
Returns substring of character data of the node.
Exceptions:
INDEX_SIZE_ERR
Raised if $offset < 0 or $count < 0 or $offset > length of data.
Synopsis:
$node->substringData($offset, $count [, $situa])
$offset
Specifies, where (in the character data) the returned substring
starts.
$count
Specifies the maximal count of returned characters.
$situa
The situation to be used (optional).
appendData
Appends specified substring to character data of the node.
Synopsis:
$node->appendData($data [, $situa])
$data
Characters to be appended.
$situa
The situation to be used (optional).
insertData
Inserts specified substring to character data of the node.
Exceptions:
INDEX_SIZE_ERR
Raised if $offset < 0 or $offset > length of character data.
Synopsis:
$node->insertData($offset, $data [, $situa])
$offset
Starting point in character data of newly inserted substring.
$data
Characters to be inserted.
$situa
The situation to be used (optional).
deleteData
Cuts specified substring from character data of the node.
Exceptions:
INDEX_SIZE_ERR
Raised if $offset < 0 or $count < 0 or $offset > length of data.
Synopsis:
$node->deleteData($offset, $count [, $situa])
$offset
Specifies, where (in the character data) the cut substring starts.
$count
Specifies the maximal count of cut characters.
$situa
The situation to be used (optional).
replaceData
Replaces specified substring from character data of the node.
Exceptions:
INDEX_SIZE_ERR
Raised if $offset < 0 or $count < 0 or $offset > length of data.
Synopsis:
$node->replaceData($offset, $count, $data [, $situa])
$offset
Specifies, where (in the character data) the replaced substring
starts.
$count
Specifies the maximal count of replaced characters.
$data
Character data replacing specified substring.
$situa
The situation to be used (optional).
XML::Sablotron::DOM::Text
Represents a text node of DOM tree.
splitText
If length of data is greather than specified offset, inserts new text
node behind original node and splits original node data to two chunks,
the first chunk with offset length set to original node, the second
chunk set to newly created node.
Exceptions:
INDEX_SIZE_ERR
Raised if $offset < 0 or $offset > length of data.
Synopsis:
$node->splitText($offset [, $situa])
$offset
Specifies length of character data of original node.
$situa
The situation to be used (optional).
XML::Sablotron::DOM::ProcessingInstruction
Represents a processing instruction of DOM tree.
target
Gets the first token of node value.
Synopsis:
$pi->target([$situa])
$situa
The situation to be used (optional).
data
Gets or sets the content of the processing instruction (text starting
with the first non-whitespace character after target).
Synopsis:
$pi->data([$situa])
$pi->data($content [, $situa])
$content
Specifies the new content of the processing instruction.
$situa
The situation to be used (optional).
XML::Sablotron::DOM::NodeList
Represents a list of some items.
item
Returns the item on specified position in the list.
Synopsis:
$list->item($index)
$index
The position of item.
length
Returns count of the list items.
Synopsis:
$list->length()XML::Sablotron::DOM::NamedNodeMap
Represents a collection of nodes that can be accessed by name.
getNamedItem
Returns the node specified by name.
Synopsis:
$node = $nnm->getNamedItem($name)
$name
The name of queried node.
setNamedItem
Inserts or replaces node to map by its name.
Synopsis:
$replaced = $nnm->setNamedItem($node)
$node
The node to be inserted.
removeNamedItem
Removes node from map by its name.
Exceptions:
NOT_FOUND_ERR
Raised if there is not node with specified name.
Synopsis:
$removed = $nnm->removeNamedItem($name)
$name
The name of node to be removed.
getNamedItemNS
Returns the node specified by local name and namespace URI.
Synopsis:
$node = $nnm->getNamedItemNS($nsURI, $localName)
$nsURI
The namespace URI of queried node.
$localName
The local name of queried node.
setNamedItemNS
Inserts or replaces node to map by its local name and namespace
URI.
Synopsis:
$replaced = $nnm->setNamedItemNS($node)
$node
The node to be inserted.
removeNamedItemNS
Removes node from map by its local name and namespace URI.
Exceptions:
NOT_FOUND_ERR
Raised if there is not node with specified name.
Synopsis:
$removed = $nnm->removeNamedItemNS($nsURI, $localName)
$nsURI
The namespace URI of removed node.
$localName
The local name of removed node.
AUTHOR
Pavel Hlavnicka, pavel@gingerall.cz; Ginger Alliance LLC; Jan Poslusny,
pajout@gingerall.cz; Ginger Alliance LLC;
SEE ALSOperl(1).
perl v5.8.8 2003-02-21 DOM(3)