NAME

Bio::Phylo::NeXML::DOM::Document - XML DOM Abstract class for flexible document object model implementation

SYNOPSIS

Not used directly.

DESCRIPTION

This module describes an abstract implementation of a DOM document 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 DocumentI 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   : $doc = Bio::Phylo::NeXML::DOM::Document->new(@args)
Function: Create a Document object using the underlying package
Returns : Document object or undef on fail
Args    : Package-specific arguments
parse_document()
Type    : Factory method
Title   : parse_document
Usage   : $doc = $dom->parse_document($text)
Function: Create a new XML DOM document from XML text
Returns : DOM document
Args    : An XML String

Document property accessors/mutators

set_encoding()
Type    : Mutator
Title   : set_encoding
Usage   : $doc->set_encoding($enc)
Function: Set encoding for document
Returns : True on success
Args    : Encoding descriptor as string
get_encoding()
Type    : Accessor
Title   : get_encoding
Usage   : $doc->get_encoding()
Function: Get encoding for document
Returns : Encoding descriptor as string
Args    : none
set_root()
Type    : Mutator
Title   : set_root
Usage   : $doc->set_root($elt)
Function: Set the document's root element
Returns : True on success
Args    : Element object
get_root()
Type    : Accessor
Title   : get_root
Usage   : $doc->get_root()
Function: Get the document's root element
Returns : Element object or undef if DNE
Args    : none

Document element accessors

get_element_by_id()
Type    : Accessor
Title   : get_element_by_id
Usage   : $doc->get_element_by_id($id)
Function: Get element having id $id
Returns : Element object or undef if DNE
Args    : id designator as string
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 
Returns : Array of elements or undef if no match
Args    : tag name as string

Output methods

to_xml()
Type    : Serializer
Title   : to_xml
Usage   : $doc->to_xml
Function: Create XML string from document
Returns : XML string
Args    : Formatting arguments as allowed by underlying package