The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XML::Compile::Util - Utility routines for XML::Compile components

INHERITANCE

 XML::Compile::Util
   is a Exporter

SYNOPSIS

 use XML::Compile::Util;
 my $node_type = pack_type $ns, $localname;
 my ($ns, $localname) = unpack_type $node_type;

DESCRIPTION

The functions provided by this package are used by various XML::Compile components, which on their own may be unrelated.

FUNCTIONS

Constants

The following URIs are exported as constants, to avoid typing in the same long URIs each time again: XMLNS, SCHEMA1999, SCHEMA2000, SCHEMA2001, and SCHEMA2001i.

Packing

pack_id(NAMESPACE, ID)

Translates the two arguments into one compact string representation of the node id.

example:

 print pack_id 'http://my-ns', 'my-id';
 # shows:  http://my-ns#my-id
pack_type([NAMESPACE], LOCALNAME)

Translates the arguments into one compact string representation of the node type. When the NAMESPACE is not present, undef, or an empty string, then no namespace is presumed, and no curly braces part made.

example:

 print pack_type 'http://my-ns', 'my-type';
 # shows:  {http://my-ns}my-type 

 print pack_type 'my-type';
 print pack_type undef, 'my-type';
 print pack_type '', 'my-type';
 # all three show:   my-type
unpack_type(STRING)

Returns a LIST of two elements: the name-space and the id, as included in the STRING. That STRING must be compatible with the result of pack_id().

Other

even_elements(LIST)

Returns the even-numbered elements from the LIST.

odd_elements(LIST)

Returns the odd-numbered elements from the LIST.

type_of_node(NODE)

Translate an XML::LibXML::Node into a packed type.

SEE ALSO

This module is part of XML-Compile distribution version 1.31, built on January 24, 2013. Website: http://perl.overmeer.net/xml-compile/

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite, XML::eXistDB, and XML::LibXML::Simple.

Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile

For live contact with other developers, visit the #xml-compile channel on irc.perl.org.

LICENSE

Copyrights 2006-2013 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html