Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Modes (1/7) >

Modes usage

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