The templates are basically a rules that define how a particular part of the source XML document maps on to the result that you want.
XSLT stylesheets having number of templates.
A D V E R T I S E M E N T
<xsl:template> Element
Templates are defined by using <xsl:template> element. The match attribute
on <xsl:template> indicates which parts of the source document should be
processed with the particular template and the content of the <xsl:template>
element indicates what is done with that particular part of the source document.
You can use literal result elements, <xsl:for-each> and <xsl:value-of> inside a
template in exactly the same way as you do within a simplified stylesheet to
generate some output.
The xsl:template element is used to define a template that can be applied to
a node for producing a desired output.
There must be either a nameor match attribute, or both, and this determines how
the template rule can be invoked. If there is only a match attribute, then you
can use the xsl:apply-template element to invoke the template rule defined by
the xsl:template element. If there is only a name attribute, then you can use
the xsl:call-template element to invoke the named template defined by the
xsl:template element. If both attributes are present, then you may invoke the
template by any procedure.
It may be possible that more than one template can be applied to a node. The
highest priority value template is always choose. If more than one suitable
template has the same highest priority value, then the XSLT processor usually
chooses the last one that appears. Different templates can not have both the
same priority and name values.I same values then error generate
The xsl:template element is always a child of either the xsl:transform or
xsl:stylesheet elements