NAME
Bio::Phylo::NeXML::DOM::Element - XML DOM Abstract class for flexible document object model implementation
SYNOPSIS
Not used directly.
DESCRIPTION
This module describes an abstract implementation of a DOM object as expected by Bio::Phylo. The methods here must be overridden in any concrete implementation. The idea is that different implementations use a particular XML DOM package, binding the methods here to analogous package methods.
This set of methods is intentionally minimal. The concrete instances of this class should inherit both from ElementI and the underlying XML DOM object class, so that package-specific methods can be directly accessed from the instantiated object.
AUTHOR
Mark A. Jensen - maj -at- fortinbras -dot- us
Constructor
- new()
-
Type : Constructor Title : new Usage : $elt = Bio::Phylo::NeXML::DOM::Element->new($tag, $attr) Function: Create a new XML DOM element Returns : DOM element object Args : Optional: '-tag' => $tag - tag name as string '-attr' => $attr - hashref of attributes/values
- parse_element()
-
Type : Factory method Title : parse_element Usage : $elt = $dom->parse_element($text) Function: Create a new XML DOM element from XML text Returns : DOM element Args : An XML String
Namespace accessors/mutators
-
Type : Title : Usage : Function: Returns : Args :
Tagname mutators/accessors
- get_tag()
-
Type : Accessor Title : get_tag Usage : $elt->get_tag() Function: Get tag name Returns : Tag name as scalar string Args : none
- set_tag()
-
Type : Mutator Title : set_tag Usage : $elt->set_tag( $tagname ) Function: Set tagname Returns : True on success Args : Tag name as scalar string
Attribute mutators/accessors
- get_attributes()
-
Type : Accessor Title : get_attributes Usage : $elt->get_attributes( @attribute_names ) Function: Get attribute values Returns : A hash ref of key/value pairs Args : Optional, [a list of] attribute name[s] as string[s]
- set_attributes()
-
Type : Mutator Title : set_attributes Usage : $elt->set_attributes( @attribute_assoc_array ) Function: Set attribute values Returns : True on success Args : An associative array of form ( $name => $value, ... )
- clear_attributes()
-
Type : Mutator Title : clear_attributes Usage : $elt->clear_attributes( @attribute_names ) Function: Remove attributes from element Returns : Hash of removed attributes/values Args : Array of attribute names
Content mutators/accessors
- set_text()
-
Type : Mutator Title : set_text Usage : $elt->set_text($text_content) Function: Add a #TEXT node to the element Returns : True on success Args : scalar string
- get_text()
-
Type : Accessor Title : get_text Usage : $elt->get_text() Function: Retrieve direct #TEXT descendants as (concatenated) string Returns : scalar string (the text content) Args : none
- clear_text()
-
Type : Mutator Title : clear_text Usage : $elt->clear_text() Function: Remove direct #TEXT descendant nodes from element Returns : True on success; false if no #TEXT nodes removed Args : none
Traversal methods
- get_parent()
-
Type : Accessor Title : get_parent Usage : $elt->get_parent() Function: Get parent DOM node of invocant Returns : Element object or undef if invocant is root Args : none
- get_children()
-
Type : Accessor Title : get_children Usage : $elt->get_children() Function: Get child nodes of invocant Returns : Array ref of Elements Args : none
- get_first_daughter()
-
Type : Accessor Title : get_first_daughter Usage : $elt->get_first_daughter() Function: Get first child (as defined by underlying package) of invocant Returns : Element object or undef if invocant is childless Args : none
- get_last_daughter()
-
Type : Accessor Title : get_last_daughter Usage : $elt->get_last_daughter() Function: Get last child (as defined by underlying package) of invocant Returns : Element object or undef if invocant is childless Args : none
- get_next_sister()
-
Type : Accessor Title : get_next_sister Usage : $elt->get_next_sister() Function: Gets next sibling (as defined by underlying package) of invocant Returns : Element object or undef if invocant is the rightmost element Args : none
- get_previous_sister()
-
Type : Accessor Title : get_previous_sister Usage : $elt->get_previous_sister() Function: Get previous sibling (as defined by underlying package) of invocant Returns : Element object or undef if invocant is leftmost element Args : none
- get_elements_by_tagname()
-
Type : Accessor Title : get_elements_by_tagname Usage : $elt->get_elements_by_tagname($tagname) Function: Get array of elements having given tag name from invocant's descendants Returns : Array of elements or undef if no match Args : tag name as string
Prune and graft methods
- set_child()
-
Type : Mutator Title : set_child Usage : $elt->set_child($child) Function: Add child element object to invocant's descendants Returns : the element object added Args : Element object
- prune_child()
-
Type : Mutator Title : prune_child Usage : $elt->prune_child($child) Function: Remove the subtree rooted by $child from among the invocant's descendants Returns : $child or undef if $child is not among the children of invocant Args : Element object