=head1 NAME

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

=head1 INHERITANCE

 XML::Compile::Util
   is a Exporter

=head1 SYNOPSIS

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

=head1 DESCRIPTION

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

=head1 FUNCTIONS

B<odd_elements>(LIST)

=over 4

Returns the odd-numbered elements in the list.

=back

B<pack_id>(NAMESPACE, ID)

=over 4

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

=back

B<pack_type>(NAMESPACE, LOCALNAME)

=over 4

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

example: 

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

=back

B<unpack_type>(STRING)

=over 4

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 L<pack_id()|XML::Compile::Util/"FUNCTIONS">.

=back

=head1 SEE ALSO

This module is part of XML-Compile distribution version 0.5,
built on August 09, 2007. Website: F<http://perl.overmeer.net/xml-compile/>

=head1 LICENSE

Copyrights 2006-2007 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 F<http://www.perl.com/perl/misc/Artistic.html>