Scroll to navigation

Catmandu::XML::Transformer(3pm) User Contributed Perl Documentation Catmandu::XML::Transformer(3pm)

NAME

Catmandu::XML::Transformer - Utility module for XML/XSLT processing

SYNOPISIS

    $transformer = Catamandu::XML::Transformer->new( stylesheet => 'file.xsl' );

    $xml_string = $transformer->transform( $xml_string ); # SCALAR
    $xml_dom    = $transformer->transform( $xml_dom );    # XML::LibXML::Document
    $xml_struct = $transformer->transform( $xml_struct ); # ARRAY reference
    $xml_simple = $transformer->transform( $xml_simple ); # HASH reference

    $transformer = Catamandu::XML::Transformer->new( output_format => 'string' );
    $xml_string  = $transformer->transform( $xml );       # any XML to SCALAR

CONFIGURATION

stylesheet
Zero or more XSLT files given as comma-separated list of files or array reference with multiple files to apply as transformation pipeline. Files are parsed once on instantiation of the Catmandu::XML::Transformer object.
output_format
Expected output format "dom", "string", "struct", "simple". By default the input format triggers the output format. If the last stylesheet has text output ("<xsl:output method="text"/>") then output format is automatically set to "string".

METHODS

stylesheet()
Returns an array reference of XSLT filenames used as transformation pipeline.
output_format()
Returns the output format or "undef".

SEE ALSO

XML::Struct
2017-10-01 perl v5.26.0