Provided by: libxml-compile-perl_1.61-1_all bug


       XML::Compile::Translate::Template - create an XML or PERL example


          is a XML::Compile::Translate


        my $schema = XML::Compile::Schema->new(...);
        print $schema->template(XML  => $type, ...);
        print $schema->template(PERL => $type, ...);

        # script as wrapper for this module
        schema2example -f XML ...


       The translator understands schemas, but does not encode that into actions.  This module
       interprets the parse results of the translator, and creates a kind of abstract syntax tree
       from it, which can be used for documentational purposes.  Then, it implements to ways to
       represent that knowledge: as an XML or a Perl example of the data-structure which the
       schema describes.

       Extends "DESCRIPTION" in XML::Compile::Translate.


       Extends "METHODS" in XML::Compile::Translate.


       Extends "DETAILS" in XML::Compile::Translate.

   Translator options
       Extends "Translator options" in XML::Compile::Translate.

   Processing Wildcards
       Wildcards are not (yet) supported.

   Schema hooks
       Hooks are implemented since version 0.82.  They can be used to improve the template

       hooks executed before the template is generated

       None defined yet.

       hooks executed as replacement

       The predefined hook "COLLAPSE" can be used to remove the extensive listing of some
       elements.  Usually used with a type of which you know the structure or which is repeated

       hooks for post-processing, after the data is collected

       None defined yet.

       Typemaps are currently only available to improve the PERL output.

       Typemaps for PERL template output

       You can pass &function_name to indicate that the code reference with variable name
       $function_name will be called.  Mind the change of "&" into "$".

       When $object_name is provided, then that object is an interface object, which will be
       called for the indicated type.

       In case class name (any bareword will do) is specified, it is shown as a call to the
       "toXML()" instance method call from some data object of the specified class.

       . Example: typemaps with template

         $schemas->template(PERL => $some_type, typemap =>
           { $type1 => '&myfunc'   # $myfunc->('WRITER', ...)
           , $type2 => '$interf'   # $interf->($object, ...)
           , $type3 => 'My::Class'


       This module is part of XML-Compile distribution version 1.61, built on November 09, 2018.


       Copyrights 2006-2018 by [Mark Overmeer <>]. For other contributors see

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