Sposób tworzenia oraz wykorzystania szablonu, do którego możliwe jest przekazanie parametrów. (Wysyłanie parametrów do szablonu jest opcjonalne)
// DEFINITION
<xsl:template name="TEMPLATE_NAME">
<xsl:param name="PARAM_1_NAME" />
<xsl:param name="PARAM_2_NAME" />
..
<xsl:if test="$PARAM_1_NAME = 'true' and $PARAM_2_NAME = 'false'">
..
</xsl:if>
..
</xsl:template>
// USAGE
<xsl:call-template name="TEMPLATE_NAME">
<xsl:with-param name="PARAM_1_NAME" select="true()" />
<xsl:with-param name="PARAM_2_NAME" select="false()" />
</xsl:call-template>
// DEFINITION
<xsl:template match="my:NODE_NAME">
<xsl:param name="PARAM_1_NAME" />
<xsl:param name="PARAM_2_NAME" />
..
<xsl:if test="$PARAM_1_NAME = 'true' and $PARAM_2_NAME = 'false'">
..
</xsl:if>
..
</xsl:template>
// USAGE
<xsl:apply-templates select="my:NODE_NAME">
<xsl:with-param name="PARAM_1_NAME" select="true()" />
<xsl:with-param name="PARAM_2_NAME" select="false()" />
</xsl:apply-templates>