An action module for simplistic style-sheets
use XML::PatAct::Amsterdam; my $patterns = [ PATTERN => { Before => 'before', After => 'after' }, ... ]; my $matcher = XML::PatAct::Amsterdam->new( I<OPTIONS> );
XML::PatAct::Amsterdam is a PerlSAX handler for applying pattern-action lists to \s-1XML\s0 parses or trees. XML::PatAct::Amsterdam applies a very simple style sheet to an instance and outputs the result. Amsterdam gets it's name from the Amsterdam \s-1SGML\s0 Parser (\s-1ASP\s0) which inspired this module.
\s-1CAUTION:\s0 Amsterdam is a very simple style module, you will run into it's limitations quickly with even moderately complex \s-1XML\s0 instances, be aware of and prepared to switch to more complete style modules.
New XML::PatAct::Amsterdam instances are creating by calling `new()'. Parameters can be passed as a list of key, value pairs or a hash. A Patterns and Matcher options are required. The following \s-1OPTIONS\s0 are supported:
The pattern-action list to apply. The list is an anonymous array of pattern, action pairs. Each action in the list contains either or both a Before and an After string to copy to the output before and after processing an \s-1XML\s0 element. The Before and After strings may contain attribute names enclosed in square brackets (`\*(C`[\*(C'' \s-1NAME\s0 `\*(C`]\*(C''), these are replaced with the value of the attribute with that name. The special \s-1NAME\s0 `\*(C`_element\*(C'' will be replaced with the element's name.
An instance of the pattern or query matching module.
An IO::Handle or one of it's subclasses (such as IO::File), if this parameter is not present and the AsString option is not used, the module will write to standard output.
Return the generated output as a string from the `\*(C`parse()\*(C'' method of the PerlSAX event generator.
Ken MacLeod, [email protected]
perl\|(1)
``Using PatAct Modules'' and ``Creating PatAct Modules'' in libxml-perl.