dwww Home | Manual pages | Find package

Template::Plugin::XML(User Contributed Perl DocumentTemplate::Plugin::XML(3pm)

NAME
       Template::Plugin::XML - XML plugin for the Template Toolkit

SYNOPSIS
           [% USE XML;
              dom    = XML.dom('foo.xml');
              xpath  = XML.xpath('bar.xml');
              simple = XML.simple('baz.xml');
              rss    = XML.simple('news.rdf');
           %]

           [% USE XML(file='foo.xml');
              dom    = XML.dom
              xpath  = XML.xpath
              # ...etc...
           %]

           [% USE XML(dir='/path/to/xml');
              file  = XML.file('foo.xml' );
              dom   = file.dom
              xpath = file.xpath
              # ...etc...
           %]

DESCRIPTION
       The Template-XML distribution provides a number of Template Toolkit
       plugin modules for working with XML.

       The Template::Plugin::XML module is a front-end to the various other
       XML plugin modules.  Through this you can access XML files and
       directories of XML files via the Template::Plugin::XML::File and
       Template::Plugin::XML::Directory modules (which subclass from the
       Template::Plugin::File and Template::Plugin::Directory modules
       respectively).  You can then create a Document Object Model (DOM) from
       an XML file (Template::Plugin::XML::DOM), examine it using XPath
       queries (Template::Plugin::XML::XPath), turn it into a Perl data
       structure (Template::Plugin::XML::Simple) or parse it as an RSS (RDF
       Site Summary) file.

       The basic XML plugins were distributed as part of the Template Toolkit
       until version 2.15 released in May 2006.  At this time they were
       extracted into this separate Template-XML distribution and an alpha
       version of this Template::Plugin::XML front-end module was added.

       The Template::Plugin::XML module is still in development and not
       guaranteed to work correctly yet.  However, all the other XML plugins
       are more-or-less exactly as they were in TT version 2.14 and should
       work as normal.

       For general information on the Template Toolkit see the documentation
       for the Template module or <http://template-toolkit.org>.  For
       information on using plugins, see Template::Plugins and "USE" in
       Template::Manual::Directives.  For further information on XML, see
       <http://xml.com/>.

METHODS
       The XML plugin module provides a number of methods to create various
       other XML plugin objects.

   file(name)
       Creates a Template::Plugin::XML::File object.  This is a subclass of
       Template::Plugin::File.

   dir(path)
       Creates a Template::Plugin::XML::Directory object.  This is a subclass
       of Template::Plugin::Directory.

   dom()
       Generate a Document Object Module from an XML file.  This can be called
       against a directory, file or an XML plugin object, as long as the
       source XML filename is defined somewhere along the line.

           [% dom = XML.dom(filename) %]

           [% file = XML.file(filename);
              dom  = file.dom
           %]

           [% dir = XML.dir(dirname);
              dom = dir.dom(filename)
           %]

   xpath()
       Perform XPath queries on the file.  Like the dom() method, xpath() can
       be called against a file, directory or an XML plugin object.

           [% xpath = XML.xpath(filename) %]

           [% file  = XML.file(filename);
              xpath = file.xpath
           %]

           [% dir   = XML.dir(dirname);
              xpath = dir.xpath(filename)
           %]

   simple()
       TODO: As per dom() and xpath() but for XML::Simple

   rss()
       TODO: As per dom(), xpath() and simple() but for XML::RSS

XML PLUGINS
       These are the XML plugins provided in this distribution.

   Template::Plugin::XML
       Front-end module to the XML plugin collection.

   Template::Plugin::XML::File
       This plugin module is used to represent individual XML files.  It is a
       subclass of the Template::Plugin::File module, providing the additional
       dom(), xpath(), simple() and other methods relevant to XML files.

   Template::Plugin::XML::Directory
       This plugin module is used to represent directories of XML files.  It
       is a subclass of the Template::Plugin::Directory module and provides
       the same additional XML related methods as Template::Plugin::XML::File.

   Template::Plugin::XML::DOM
       Plugin interface providing access to the XML::DOM module.

           [% USE XD = XML.Dom %]
           [% dom = XD.parse_file('example.xml') %]
           [% pages = dom.getElementsByTagName('page') %]

   Template::Plugin::XML::RSS
       Plugin interface providing access to the XML::RSS module.

           [% USE news = XML.RSS('news.rdf') -%]
           [% FOREACH item IN news.items -%]
              * [% item.title %]
           [% END %]

   Template::Plugin::XML::Simple
       Plugin interface providing access to the XML::Simple module.

           [%  USE xml = XML.Simple('example.xml') %]

   Template::Plugin::XML::XPath
       Plugin interface providing access to the XML::XPath module.

           [% USE xpath = XML.XPath('example.xml');
              bar = xpath.find('/foo/bar');
           %]

AUTHORS
       Andy Wardley wrote the Template Toolkit plugin modules, with assistance
       from Simon Matthews in the case of the XML::DOM plugin.  Matt Sergeant
       wrote the XML::XPath module.  Enno Derksen and Clark Cooper wrote the
       XML::DOM module.  Jonathan Eisenzopf wrote the XML::RSS module.  Grant
       McLean wrote the XML::Simple module.  Clark Cooper and Larry Wall wrote
       the XML::Parser module.  James Clark wrote the expat library.

COPYRIGHT
       Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

SEE ALSO
       Template, Template::Plugins, Template::Plugin::XML::DOM,
       Template::Plugin::XML::RSS, Template::Plugin::XML::Simple,
       Template::Plugin::XML::XPath

perl v5.34.0                      2022-07-04        Template::Plugin::XML(3pm)

Generated by dwww version 1.15 on Mon Jul 1 04:28:21 CEST 2024.