<xslTutorial creator="nicmila@idoox.com">
<index keywords='mode xsl:apply-templates xsl:template'/>

<description>Modes allow an element to be processed multiple times, each time producing a different result.In <stylesheet id='id3'/> one of the modes does not exist.
</description>


<xmlSource id="id1">
<AAA id='a1' pos='start'> 
      <BBB  id='b1'/> 
      <BBB  id='b2'/> 
</AAA> 
<AAA  id='a2'> 
      <BBB  id='b3'/> 
      <BBB  id='b4'/> 
      <CCC  id='c1'> 
           <CCC  id='c2'/> 
      </CCC> 
      <BBB  id='b5'> 
           <CCC  id='c3'/> 
      </BBB> 
</AAA> 
</xmlSource>

<attValues>
<value match=''></value>
</attValues>

<xslStylesheet id="id2">

<xsl:template match="/">
<xsl:apply-templates select="//CCC" mode="red"/>
<xsl:apply-templates select="//CCC" mode="blue"/>
<xsl:apply-templates select="//CCC"/>
</xsl:template>

<xsl:template match="CCC" mode="red">
<DIV style="color:red">
<xsl:value-of select="name()"/>
<xsl:text> id=</xsl:text>
<xsl:value-of select="@id"/>
</DIV>
</xsl:template>

<xsl:template match="CCC" mode="blue">
<DIV style="color:blue">
<xsl:value-of select="name()"/>
<xsl:text> id=</xsl:text>
<xsl:value-of select="@id"/>
</DIV>
</xsl:template>

<xsl:template match="CCC">
<DIV style="color:purple">
<xsl:value-of select="name()"/>
<xsl:text> id=</xsl:text>
<xsl:value-of select="@id"/>
</DIV>
</xsl:template>

</xslStylesheet>

<xslStylesheet id="id3">

<xsl:template match="/">
<xsl:apply-templates select="//CCC" mode="red"/>
<xsl:apply-templates select="//CCC" mode="yellow"/>
</xsl:template>

<xsl:template match="CCC" mode="red">
<DIV style="color:red">
<xsl:value-of select="name()"/>
<xsl:text> id=</xsl:text>
<xsl:value-of select="@id"/>
</DIV>
</xsl:template>

<xsl:template match="CCC">
<DIV style="color:purple">
<xsl:value-of select="name()"/>
<xsl:text> id=</xsl:text>
<xsl:value-of select="@id"/>
</DIV>
</xsl:template>

</xslStylesheet>
</xslTutorial>