Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xml::grove::subst(3pm) [debian man page]

XML::Grove::Subst(3pm)					User Contributed Perl Documentation				    XML::Grove::Subst(3pm)

NAME
XML::Grove::Subst - substitute values into a template SYNOPSIS
use XML::Grove::Subst; # Using subst method on XML::Grove::Document or XML::Grove::Element: $new_grove = $source_grove->subst( ARGS ); $new_grove = $source_grove->subst_hash( ARG ); # Using an XML::Grove::Subst instance: $subster = XML::Grove::Subst->new(); $new_grove = $subster->subst( $source_grove, ARGS ); $new_grove = $subster->subst_hash( $source_grove, ARG ); DESCRIPTION
"XML::Grove::Subst" implements XML templates. "XML::Grove::Subst" traverses through a source grove replacing all elements with names `"SUB:XXX"' or `"SUB:key"' with their corresponding values from ARGS (a list) or ARG (a hash), repsectively. METHODS
$grove_obj->subst( ARGS ) =item $subster->subst( $grove_obj, ARGS ) Search for `"SUB:XXX"' elements, where XXX is an array index, and replace the element with the value from ARGS, a list of values. The return value is a new grove with the substitutions applied. $grove_obj->subst_hash( ARG ) =item $subster->subst_hash( $grove_obj, ARG ) Search for `"SUB:key"' elements and replace the element with the value from ARG, a hash of values. The hash key is taken from the `"key"' attribute of the `"SUB:key"' element, for example, `"<SUB:key key='foo'>"'. The return value is a new grove with the substitutions applied. EXAMPLE
The following template, in a file `"template.xml"', could be used for a simple parts database conversion to HTML: <html> <head> <title><SUB:key key='Name'></title> </head> <body> <h1><SUB:key key='Name'></title> <p>Information for part number <SUB:key key='Number'>:</p> <SUB:key key='Description'> </body> </html> To use this template you would first parse it and convert it to a grove, and then use `"subst_hash()"' every time you needed a new page: use XML::Parser::PerlSAX; use XML::Grove; use XML::Grove::Builder; use XML::Grove::Subst; use XML::Grove::PerlSAX; use XML::Handler::XMLWriter; # Load the template $b = XML::Grove::Builder->new(); $p = XML::Parser::PerlSAX->new( Handler = $b ); $source_grove = $p->parse( Source => { SystemId => 'template.xml' } ); # Apply the substitutions $new_grove = $source_grove->subst_hash( { Name => 'Acme DCX-2000 Filter', Number => 'N4728', Description => 'The Best' } ); # Write the new grove to standard output $w = XML::Handler::XMLWriter->new(); $wp = XML::Grove::PerlSAX->new( Handler => $w ); $wp->parse( Source => { Grove => $new_grove } ); AUTHOR
Ken MacLeod, ken@bitsko.slc.ut.us SEE ALSO
perl(1), XML::Grove(3) Extensible Markup Language (XML) <http://www.w3c.org/XML> perl v5.10.1 2010-01-29 XML::Grove::Subst(3pm)

Check Out this Related Man Page

XML::Grove::PerlSAX(3pm)				User Contributed Perl Documentation				  XML::Grove::PerlSAX(3pm)

NAME
XML::Grove::PerlSAX - an PerlSAX event interface for XML objects SYNOPSIS
use XML::Grove::PerlSAX; $parser = XML::Grove::PerlSAX->new( [OPTIONS] ); $result = $parser->parse( [OPTIONS] ); # or $result = $xml_object->parse( [OPTIONS] ); DESCRIPTION
"XML::Grove::PerlSAX" is a PerlSAX parser that generates PerlSAX events from XML::Grove objects. This man page summarizes the specific options, handlers, and properties supported by "XML::Grove::PerlSAX"; please refer to the PerlSAX standard in `"PerlSAX.pod"' for general usage information. METHODS
new Creates a new parser object. Default options for parsing, described below, are passed as key-value pairs or as a single hash. Options may be changed directly in the parser object unless stated otherwise. Options passed to `"parse()"' override the default options in the parser object for the duration of the parse. parse Parses a document. Options, described below, are passed as key-value pairs or as a single hash. Options passed to `"parse()"' override default options in the parser object. OPTIONS
The following options are supported by "XML::Grove::PerlSAX": Handler default handler to receive events DocumentHandler handler to receive document events Source hash containing the input source for parsing If no handlers are provided then all events will be silently ignored. If a single grove argument is passed to the `"parse()"' method, it is treated as if a `"Source"' option was given with a `"Grove"' parameter. The `"Source"' hash may contain the following parameters: Grove The grove object used to generate parse events.. HANDLERS
The following events are generated by "XML::Grove::PerlSAX". XML::Grove::PerlSAX passes the corresponding grove object as it's parameter so the properties passed to the handler are those that were used to create or were assigned to the grove. Please see the docs for the parser used to create the grove for a list of properties that were provided. DocumentHandler methods start_document Receive notification of the beginning of a document. This is called from the XML::Grove::Document object before processing any document content. end_document Receive notification of the end of a document. This is called from the XML::Grove::Document object after processing all document content. start_element Receive notification of the beginning of an element. This is called from the XML::Grove::Element object before processing any element content. end_element Receive notification of the end of an element. This is called from the XML::Grove::Element object after processing all element content. characters Receive notification of character data. This is called from the XML::Grove::Characters object. processing_instruction Receive notification of a processing instruction. This is called from the XML::Grove::PI object. comment Receive notification of a comment. This is called from the XML::Grove::Comment object. AUTHOR
Ken MacLeod, ken@bitsko.slc.ut.us SEE ALSO
perl(1), XML::Grove(3) Extensible Markup Language (XML) <http://www.w3c.org/XML> perl v5.10.1 1999-10-23 XML::Grove::PerlSAX(3pm)
Man Page