NAME
XML::DOM2 - DOM controlled, strict XML module for extentable xml objects.
VERSION
Version 0.06 - 2007-11-28
SYNOPSIS
my $xml = XML::DOM2->new( file => 'filename.xml' );
my $xml = XML::DOM2->new( data => '<xml>data</xml>' );
my $xml = XML::DOM2->new( fh => $file_handle );
$xml->getChildren();
DESCRIPTION
XML::DOM2 is yet _another_ perl XML module.
Features:
* DOM Level2 Compilence in both document, elements and attributes
* NameSpace control for elements and attributes
* XPath (it's just one small method once you have a good DOM)
* Extendability:
* Document, Element or Attribute classes can be used as base class for other
kinds of document, element or attribute.
* Element and Attribute Handler allows element specific child elements and attribute objects.
* Element and Attribute serialisation overiding.
* Parsing with SAX (use XML::SAX::PurePerl for low dependancy installs)
* Internal serialisation
METHODS
$class->new( file|data|fh )
Create a new xml object, it will parse a file, data or a file handle if required or will await creation of nodes.
$object->parseDocument( %p )
Parse existing xml data into a document, inputs taken from ->new;
$object->xmlify( %options ) =head2 $object->render( %options ) =head2 $object->to_xml( %options ) =head2 $object->serialise( %options ) =head2 $object->serialize( %options )
Returns xml representation of xml document.
Options:
seperator - default is carage return
$class->adaptation( $name, $structure )
Convert a perl structure and create a new xml document of it:
$class->adaptation('xml', { foo => [ 'A', 'B', 'C' ], bar => 'D', kou => { 'A' => 1, 'B' => 2 } });
Will convert to:
"<xml><foo>A</foo><foo>B</foo><foo>C</foo><bar>D</bar><kou><A>1</A><B>2</B></xml>"
$class->adaptation('xml', { 'foo' => [ { '+' => 'A', '_Letter' => '1' }, { '+' => 'B', '_Letter' => 2 } ] });
Will convert to:
"<xml><foo Letter="1">A</foo><foo Letter="2">B</foo></xml>"
$object->extension()
$extention = $xml->extention();
Does not work, legacy option maybe enabled in later versions.
OPTIONS
$object->namespace( $set )
Default document name space
$object->name( $set )
Document localName
$object->doctype()
Document Type object
$object->version()
XML Version
$object->encoding()
XML Encoding
$object->standalone()
XML Standalone
INTERNAL METHODS
_serialise_doctype
$xml->_serialise_doctype( seperator => "\n" );
Returns the document type in an xml header form.
_serialise_extention
$xml->_serialise_extention( seperator => "\n" );
Returns the document extentions.
_serialise_header
$xml->_serialise_header( );
The XML header, with version, encoding and standalone options.
_element_handle
$xml->_element_handle( $type, %element-options );
Returns an XML element based on $type, use to extentd element capabilties.
$object->_option( $name[, $data] )
Set or get the required option.
$object->_can_contain_element()
Does this node support element children.
$object->_document_name()
Returns the doctype name or 'xml' as default, can be extended.
$object->_credit_comment()
Returns the comment credit used in the output
COPYRIGHT
Martin Owens, doctormo@cpan.org
CREDITS
Based on SVG.pm by Ronan Oger, ronan@roasp.com
SEE ALSO
perl(1),XML::DOM2,XML::DOM2::Parser