
Bio::Phylo::NeXML::Writable - Superclass for objects that serialize to NeXML

# no direct usage

This is the superclass for all objects that can be serialized to NeXML (http://www.nexml.org).

Type : Mutator Title : set_namespaces Usage : $obj->set_namespaces( 'dwc' => 'http://www.namespaceTBD.org/darwin2' ); Function: Adds one or more prefix/namespace pairs Returns : $self Args : One or more prefix/namespace pairs, as even-sized list, or as a hash reference, i.e.: $obj->set_namespaces( 'dwc' => 'http://www.namespaceTBD.org/darwin2' ); or $obj->set_namespaces( { 'dwc' => 'http://www.namespaceTBD.org/darwin2' } ); Notes : This is a global for the XMLWritable class, so that in a recursive to_xml call the outermost element contains the namespace definitions. This method can also be called as a static class method, i.e. Bio::Phylo::NeXML::Writable->set_namespaces( 'dwc' => 'http://www.namespaceTBD.org/darwin2');
Type : Mutator Title : set_suppress_ns Usage : $obj->set_suppress_ns(); Function: Tell this object not to write namespace attributes Returns : Args : none
Type : Mutator Title : clear_suppress_ns Usage : $obj->clear_suppress_ns(); Function: Tell this object to write namespace attributes Returns : Args : none
Type : Mutator Title : add_meta Usage : $obj->add_meta($meta); Function: Adds a metadata attachment to the object Returns : $self Args : A Bio::Phylo::NeXML::Meta object
Type : Mutator Title : remove_all_meta Usage : $obj->remove_all_meta(); Function: Removes all metadata attachments from the object Returns : $self Args : None
Type : Mutator Title : remove_meta Usage : $obj->remove_meta($meta); Function: Removes a metadata attachment from the object Returns : $self Args : Bio::Phylo::NeXML::Meta
By default, all XMLWritable objects are identifiable when serialized, i.e. they have a unique id attribute. However, in some cases a serialized object may not have an id attribute (governed by the nexml schema). For such objects, id generation can be explicitly disabled using this method. Typically, this is done internally - you will probably never use this method.
Type : Mutator Title : set_identifiable Usage : $obj->set_identifiable(0); Function: Enables/disables id generation Returns : $self Args : BOOLEAN
This method is usually only used internally, to define or alter the name of the tag into which the object is serialized. For example, for a Bio::Phylo::Forest::Node object, this method would be called with the 'node' argument, so that the object is serialized into an xml element structure called <node/>
Type : Mutator
Title : set_tag
Usage : $obj->set_tag('node');
Function: Sets the tag name
Returns : $self
Args : A tag name (must be a valid xml element name)
Sets invocant name.
Type : Mutator
Title : set_name
Usage : $obj->set_name($name);
Function: Assigns an object's name.
Returns : Modified object.
Args : Argument must be a string. Ensure that this string is safe to use for
whatever output format you want to use (this differs between xml and
nexus, for example).
Assigns attributes for the element.
Type : Mutator Title : set_attributes Usage : $obj->set_attributes( 'foo' => 'bar' ) Function: Sets the xml attributes for the object; Returns : $self Args : key/value pairs or a hash ref
This method is usually only used internally, to store the xml id of an object as it is parsed out of a nexml file - this is for the purpose of round-tripping nexml info sets.
Type : Mutator
Title : set_xml_id
Usage : $obj->set_xml_id('node345');
Function: Sets the xml id
Returns : $self
Args : An xml id (must be a valid xml NCName)
This utility method can be used to set the xml:base attribute, i.e. to specify a location for the object's XML serialization that potentially differs from the physical location of the containing document.
Type : Mutator
Title : set_base_uri
Usage : $obj->set_base_uri('http://example.org');
Function: Sets the xml:base attribute
Returns : $self
Args : A URI string
This sets a clickable link, i.e. a url, for the object. This has no relation to the xml:base attribute, it is solely intended for serializations that allow clickable links, such as SVG or RSS.
Type : Mutator Title : set_link Usage : $node->set_link($url); Function: Sets clickable link Returns : $self Args : url
Removes specified attribute
Type : Mutator Title : unset_attribute Usage : $obj->unset_attribute( 'foo' ) Function: Removes the specified xml attribute for the object Returns : $self Args : an attribute name
Type : Accessor
Title : get_namespaces
Usage : my %ns = %{ $obj->get_namespaces };
Function: Retrieves the known namespaces
Returns : A hash of prefix/namespace key/value pairs, or
a single namespace if a single, optional
prefix was provided as argument
Args : Optional - a namespace prefix
Type : Accessor
Title : get_prefix_for_namespace
Usage : my $prefix = $obj->get_prefix_for_namespace('http://example.org/')
Function: Retrieves the prefix for the argument namespace
Returns : A prefix string
Args : A namespace URI
Retrieves the metadata for the element.
Type : Accessor
Title : get_meta
Usage : my @meta = @{ $obj->get_meta };
Function: Retrieves the metadata for the element.
Returns : An array ref of Bio::Phylo::NeXML::Meta objects
Args : Optional: a list of CURIE predicates, in which case
the returned objects will be those matching these
predicates
Retrieves the metadata annotation object for the provided predicate
Type : Accessor
Title : get_meta_object
Usage : my $title = $obj->get_meta_object('dc:title');
Function: Retrieves the metadata annotation value for the object.
Returns : An annotation value, i.e. the object of a triple
Args : Required: a CURIE predicate for which the annotation
value is returned
Note : This method returns the object for the first annotation
with the provided predicate. Keep this in mind when dealing
with an object that has multiple annotations with the same
predicate.
Retrieves tag name for the element.
Type : Accessor Title : get_tag Usage : my $tag = $obj->get_tag; Function: Gets the xml tag name for the object; Returns : A tag name Args : None.
Gets invocant's name.
Type : Accessor Title : get_name Usage : my $name = $obj->get_name; Function: Returns the object's name. Returns : A string Args : None
Retrieves tag string
Type : Accessor Title : get_xml_tag Usage : my $str = $obj->get_xml_tag; Function: Gets the xml tag for the object; Returns : A tag, i.e. pointy brackets Args : Optional: a true value, to close an empty tag
Retrieves attributes for the element.
Type : Accessor
Title : get_attributes
Usage : my %attrs = %{ $obj->get_attributes };
Function: Gets the xml attributes for the object;
Returns : A hash reference
Args : None.
Comments: throws ObjectMismatch if no linked taxa object
can be found
Retrieves xml id for the element.
Type : Accessor Title : get_xml_id Usage : my $id = $obj->get_xml_id; Function: Gets the xml id for the object; Returns : An xml id Args : None.
This utility method can be used to get the xml:base attribute, which specifies a location for the object's XML serialization that potentially differs from the physical location of the containing document.
If no xml:base attribute has been defined on the focal object, this method moves on, recursively, to containing objects (e.g. from node to tree to forest) until such time that a base URI has been found.
Type : Mutator Title : get_base_uri Usage : my $base = $obj->get_base_uri; Function: Gets the xml:base attribute Returns : A URI string Args : None
This returns a clickable link for the object. This has no relation to the xml:base attribute, it is solely intended for serializations that allow clickable links, such as SVG or RSS.
Type : Accessor Title : get_link Usage : my $link = $obj->get_link(); Function: Returns a clickable link Returns : url Args : NONE
Type : Serializer Title : get_dom_elt Usage : $obj->get_dom_elt Function: Generates a DOM element from the invocant Returns : a DOM element object (default XML::Twig) Args : DOM factory object
By default, all XMLWritable objects are identifiable when serialized, i.e. they have a unique id attribute. However, in some cases a serialized object may not have an id attribute (governed by the nexml schema). This method indicates whether that is the case.
Type : Test
Title : is_identifiable
Usage : if ( $obj->is_identifiable ) { ... }
Function: Indicates whether IDs are generated
Returns : BOOLEAN
Args : NONE
Type : Test
Title : is_ns_suppressed
Usage : if ( $obj->is_ns_suppressed ) { ... }
Function: Indicates whether namespace attributes should not
be written on XML serialization
Returns : BOOLEAN
Args : NONE
Clones invocant.
Type : Utility method Title : clone Usage : my $clone = $object->clone; Function: Creates a copy of the invocant object. Returns : A copy of the invocant. Args : NONE. Comments: Cloning is currently experimental, use with caution.
Serializes invocant to XML.
Type : XML serializer Title : to_xml Usage : my $xml = $obj->to_xml; Function: Serializes $obj to xml Returns : An xml string Args : None
Type : Serializer
Title : to_dom
Usage : $obj->to_dom
Function: Generates a DOM subtree from the invocant and
its contained objects
Returns : a DOM element object (default: XML::Twig flavor)
Args : DOM factory object
Note : This is the generic function. It is redefined in the
classes below.
Serializes object to JSON string
Type : Serializer Title : to_json() Usage : print $obj->to_json(); Function: Serializes object to JSON string Returns : String Args : None Comments:
Serializes object to CDAO RDF/XML string
Type : Serializer Title : to_cdao() Usage : print $obj->to_cdao(); Function: Serializes object to CDAO RDF/XML string Returns : String Args : None Comments:

There is a mailing list at https://groups.google.com/forum/#!forum/bio-phylo for any user or developer questions and discussions.
Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com.

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