The Template Hash: A Closer Look
Understanding how the template hash works is crucial to the effective
use of XPathScript. First, the template hash is a bit magical in that
(unlike all other Perl variables you may use in your stylesheet) you
need not initialize this hash in your stylesheet. It is declared
invisibly during execution by the XPathScript processor. This means
that you cannot safely initialize a scalar named
$t
to the top level of your XPathScript
stylesheets without causing a conflict. Second, the template hash
really takes the form of a hash of hashes. The names given to the
top-level keys define the element names that will be matched when
apply_templates( )
is called, and the values for
those keys are themselves hashes whose predefined keys determine how
the given element will be processed if a match is found. A typical
rule takes the following form:
$t->{<element name>}{<sub-key name>} = $some_value;
element name
is the full name (including
the namespace prefix) of the element you want to match, and
sub-key name
is one of eight special keys
that the XPathScript processor uses to determine how to build the
output for matching cases.
Here are all these special subkeys and their associated behaviors:
-
pre
The scalar value assigned to this key is added to the output just before the matching element is processed.
-
post
The value assigned is appended to the output just after the matching element is processed.
-
prechildren
The scalar value assigned is sent to the output before ...
Get XML Publishing with AxKit now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.