Templates and Template Rules
To control what output is created from what input, you add
template rules to the XSLT stylesheet. Each template rule is
represented by an xsl:template
element. This element has a match
attribute that contains a pattern identifying the input
it matches; it also contains a template that is instantiated and
output when the pattern is matched. The terminology is a little tricky
here: the xsl:template element is a
template rule that contains a template. An xsl:template element is not itself the
template.
The simplest match pattern is an element name. Thus, this
template rule says that every time a person element is seen, the stylesheet
processor should emit the text “A Person”:
<xsl:template match="person">A Person</xsl:template>
Example 8-4 is a complete stylesheet that uses this template rule.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="person">A Person</xsl:template>
</xsl:stylesheet>Applying this stylesheet to the document in Example 8-1 produces this output:
<?xml version="1.0" encoding="utf-8"?>
A Person
A PersonThere were two person
elements in the input document. Each time the processor saw one, it
emitted the text “A Person”. The whitespace outside the person elements was preserved, but
everything inside the person
elements was replaced by the contents of the template rule, which is
called the template.
The text “A Person” ...