Scroll to navigation

Xacobeo::Utils(3pm) User Contributed Perl Documentation Xacobeo::Utils(3pm)

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.
2011-11-16 perl v5.14.2