Bio::Phylo::NeXML::DOM::Element - XML DOM Abstract class for flexible document
object model implementation
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.
Mark A. Jensen - maj -at- fortinbras -dot- us
- 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
- •
-
Type :
Title :
Usage :
Function:
Returns :
Args :
- 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
- 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
- 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
- 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
- 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
- to_xml()
-
Type : Serializer
Title : to_xml
Usage : $elt->to_xml
Function: Create XML string from subtree rooted by invocant
Returns : XML string
Args : Formatting arguments as allowed by underlying package
If you use Bio::Phylo in published research, please cite it:
Rutger A Vos, Jason Caravas, Klaas Hartmann,
Mark A Jensen and Chase Miller, 2011. Bio::Phylo -
phyloinformatic analysis using Perl. BMC Bioinformatics 12:63.
<http://dx.doi.org/10.1186/1471-2105-12-63>