XML::LibXML Namespace Implementation
Namespace nodes are returned by both $element->findnodes('namespace::foo') or by $node->getNamespaces().
The namespace node API is not part of any current DOM API, and so it is quite minimal. It should be noted that namespace nodes are not a sub class of XML::LibXML::Node, however Namespace nodes act a lot like attribute nodes, and similarly named methods will return what you would expect if you treated the namespace node as an attribute.
new 	

my $ns = XML::LibXML::Namespace->new($nsURI);

Creates a new Namespace node. Note that this is not a 'node' as an attribute or an element node. Therefore you can't do call all XML::LibXML::Node Functions. All functions available for this node are listed below.
Optionally you can pass the prefix to the namespace constructor. If this second parameter is omitted you will create a so called default namespace. Note, the newly created namespace is not bound to any docuement or node, therefore you should not expect it to be available in an existing document.
getName 	

print $ns->getName()

Returns "xmlns:prefix", where prefix is the prefix for this namespace.
name 	

print $ns->name()

Alias for getName()
prefix 	

print $ns->prefix()

Returns the prefix bound to this namespace declaration.
getLocalName 	

$localname = $ns->getLocalName()

Alias for prefix()
getData 	

print $ns->getData()

Returns the URI of the namespace.
getValue 	

print $ns->getValue()

Alias for getData()
value 	

print $ns->value()

Alias for getData()
uri 	

print $ns->uri()

Alias for getData()
getNamespaceURI 	

$known_uri = $ns->getNamespaceURI()

Returns the string "http://www.w3.org/2000/xmlns/"
getPrefix 	

$known_prefix = $ns->getPredix()

Returns the string "xmlns"