GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
XML::Compile::Translate::Template(3) User Contributed Perl Documentation XML::Compile::Translate::Template(3)

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

 XML::Compile::Translate::Template
   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.

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

Wildcards are not (yet) supported.

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

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 often.

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.63, built on July 02, 2019. Website: http://perl.overmeer.net/xml-compile/

Copyrights 2006-2019 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/

2019-07-02 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.