With help of modes it is possible to process the same node in the source document by several different templates.
Different modes of processing are specified by using mode attribute on xsl:template and xsl:apply-templates elements. The instruction xsl:apply-templates calls xsl:template with the same mode value.
|
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> <xsl:template match="/aaa"> <xsl:apply-templates select="bbb" mode="m1"/> <xsl:apply-templates select="bbb" mode="m2"/> <xsl:apply-templates select="bbb" mode="m3"/> </xsl:template> <xsl:template match="bbb" mode="m1">Hello</xsl:template> <xsl:template match="bbb" mode="m2">, </xsl:template> <xsl:template match="bbb" mode="m3">world!</xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa> <bbb/> </aaa> |
Output
Hello, world!
|
| Previous chapter: | Value-of |
| Next chapter: | Context |
| Previous page: | - - - |
| Next page: | Templates for multiple modes |