NAME

Bio::Phylo::NeXML::DOM::Element::Libxml - XML DOM element mappings to the XML::LibXML package

SYNOPSIS

Don't use directly; use Bio::Phylo::NeXML::DOM->new( -format => 'libxml' ) instead.

DESCRIPTION

This module provides mappings the methods specified in the Bio::Phylo::NeXML::DOM::Element abstract class to the XML::LibXML::Element package.

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
          '-attributes' => $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

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 : Array of attribute values
Args    : [an array 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) or undef if no text nodes
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 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
Note    : See caution at 
          L<http://search.cpan.org/~pajas/XML-LibXML-1.69/lib/XML/LibXML/Node.pod#addChild>
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

Output methods

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

CITATION

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