NAME

Xacobeo::Utils - 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 <potyl@cpan.org>.

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.