DESCRIPTION

XML::Easy is a collection of modules relating to the processing, parsing, and serialisation of XML data. It is oriented towards the use of XML to represent data for interchange purposes, rather than the use of XML as markup of principally textual data. It does not perform any schema processing, and does not interpret DTDs or any other kind of schema. It adheres strictly to the XML specification, in all its awkward details, except for the aforementioned DTDs.

XML::Easy strictly separates the in-program manipulation of XML data from the processing of the textual form of XML. This shields the XML user from the inconvenient and obscure aspects of XML syntax. XML data nodes are mainly processed in a clean functional style, using the XML::Easy::NodeBasics module. In the (very likely) event that an application requires some more purpose-specific XML data processing facilities, they are readily built on top of XML::Easy::NodeBasics, retaining the abstraction from textual XML.

When XML must be handled in textual form, for input and output, the XML::Easy::Text module supplies a parser and a serialiser. The interfaces here, too, are functional in nature.

This module provides various type-testing functions, relating to data types used in the XML::Easy ensemble. These are mainly intended to be used to enforce validity of data being processed by XML-related functions.

These are classes used to represent XML data for general manipulation. Objects of these classes hold the meaningful content of the data, independent of textual representation. The data in these nodes cannot be modified: different data requires new nodes.

This module supplies functions concerned with the creation, examination, and other manipulation of XML data nodes (content chunks and elements). The nodes are dumb data objects, best manipulated using plain functions such as the ones in this module.