Xacobeo::Utils(3) Utilities.

SYNOPSIS


use Xacobeo::Utils qw(:dom :xml);

if (isa_dom_text($node)) {
my $text = escape_xml_text($node->nodeValue);
print "$text\n";
}

DESCRIPTION

This package provides utility functions that are shared among the different modules in this project.

IMPORTS

The following import tags are defined:

:xml

Import the XML utilities.

:dom

Imports the DOM utilities.

FUNCTIONS

The following functions are available:

escape_xml_text

Escapes the text as if would be added to a Text node. This function escapes only the entities <, > and &.

Parameters:

  • $string

    The string to escape.

escape_xml_attribute

Escapes the text as if would be added to an Attribute. This function escapes the entities <, >, &, ' and ".

Parameters:

  • $string

    The string to escape.

isa_dom_document

Returns true if the node is a DOM "Document" (instance of XML::LibXML::Document).

Parameters:

  • $node

    The node to check.

isa_dom_element

Returns true if the node is a DOM "Element" (instance of XML::LibXML::Element).

Parameters:

  • $node

    The node to check.

isa_dom_attr

Returns true if the node is a DOM "Attribute" (instance of XML::LibXML::Attr).

Parameters:

  • $node

    The node to check.

isa_dom_nodelist

Returns true if the node is a DOM "NodeList" (instance of XML::LibXML::NodeList).

Parameters:

  • $node

    The node to check.

isa_dom_text

Returns true if the node is a DOM "Text" (instance of XML::LibXML::Text).

NOTE: XML::LibXML considers that "Comment" and "CDATA" nodes are also "Text" nodes. This method doesn't consider a "Comment" nor a "CDATA" node as being "Text" nodes.

Parameters:

  • $node

    The node to check.

isa_dom_comment

Returns true if the node is a DOM "Comment" (instance of XML::LibXML::Comment).

Parameters:

  • $node

    The node to check.

isa_dom_node

Returns true if the node is a DOM "Node" (instance of XML::LibXML::Node).

Parameters:

  • $node

    The node to check.

isa_dom_pi

Returns true if the node is a DOM "PI" (also known as: processing instruction) (instance of XML::LibXML::PI).

Parameters:

  • $node

    The node to check.

isa_dom_dtd

Returns true if the node is a DOM "DTD" (instance of XML::LibXML::Dtd).

Parameters:

  • $node

    The node to check.

isa_dom_cdata

Returns true if the node is a DOM "CDATASection" (instance of XML::LibXML::CDATASection).

Parameters:

  • $node

    The node to check.

isa_dom_namespace

Returns true if the node is a "Namespace" (instance of XML::LibXML::Namespace).

NOTE: The DOM doesn't define an object type named "Namespaces" but XML::LibXML does so this function is named 'isa_dom' for consistency with the other functions.

Parameters:

  • $node

    The node to check.

isa_dom_literal

Returns true if the node is a "Literal" (instance of XML::LibXML::Literal).

NOTE: The DOM doesn't define an object type named "Literal" but XML::LibXML does so this function is named 'isa_dom' for consistency with the other functions.

Parameters:

  • $node

    The node to check.

isa_dom_boolean

Returns true if the node is a "Boolean" (instance of XML::LibXML::Boolean).

NOTE: The DOM doesn't define an object type named "Boolean" but XML::LibXML does so this function is named 'isa_dom' for consistency with the other functions.

Parameters:

  • $node

    The node to check.

isa_dom_number

Returns true if the node is a "Number" (instance of XML::LibXML::Number).

NOTE: The DOM doesn't define an object type named "Number" but XML::LibXML does so this function is named 'isa_dom' for consistency with the other functions.

Parameters:

  • $node

    The node to check.

scrollify

Wraps a widget in a scrolled window.

Parameters:

  • $widget

    The widget to wrap.

  • $width

    The width of the scroll window. If "undef" then -1 will be used.

  • $height

    The height of the scroll window. If "undef" then -1 will be used.

AUTHORS

Emmanuel Rodriguez <[email protected]>.

COPYRIGHT AND LICENSE

Copyright (C) 2008,2009 by Emmanuel Rodriguez.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.