XML::Compile::Util3pm
Utility routines for xml::compile components
Usage
use XML::Compile::Util;my $node_type = pack_type $ns, $localname;my ($ns, $localname) = unpack_type $node_type;
Inheritance
XML::Compile::Utilis an Exporter
Overview
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($ns, $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( [$ns], $localname )-
Translates the arguments into one compact string representation of the node type. When the
$nsis 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-typeprint pack_type 'my-type';print pack_type undef, 'my-type';print pack_type '', 'my-type';# all three show: my-type
unpack_id($string)-
Returns a LIST of two elements: the name-space and the id, as included in the
$string. That$stringmust be compatible with the result ofpack_id().
unpack_type($string)-
Returns a LIST of two elements: the name-space and the localname, as included in the
$string. That$stringmust be compatible with the result ofpack_type(). When no name-space is present, an empty string is used.
Other
add_duration( $duration, [$time] )-
[1.44] Add the
$durationto the$time(defaults to 'now') This is an expensive operation: in many cases theduration2secs()produces useful results as well.example:
my $now = time;my $deadline = add_duration 'P1M', $now; # deadline in 1 month
duration2secs($duration)-
[1.44] Translate any format into seconds. This is an example of a valid duration:
"-PT1M30.5S"Average month and year lengths are used. If you need more precise calculations, then useadd_duration().
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.
Releases
6 releases since Debian 8 (Jessie); the text changed 5 times.