>> English << | Français | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 26 << | Prev | Next | Contents | Element Index

xsl:if instruction enables conditional processing. XSLT stylesheet 1 demonstrates a typical case of xsl:for-each usage, adding a text between individual entries. Very often you do not want to add text after the last element. xsl-if construct comes handy here. ( XSLT stylesheet 2 )

XSLT stylesheet 1

XML Source
<source>

<list>
     <entry name="A"/>
     <entry name="B"/>
     <entry name="C"/>
     <entry name="D"/>
</list>

</source>

Output
A, B, C, D,

HTML view
A, B, C, D,
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="list">
     <xsl:for-each select="entry">
          <xsl:value-of select="@name"/>
          <xsl:text>, </xsl:text>
     </xsl:for-each>
</xsl:template>


</xsl:stylesheet>


XSLT stylesheet 2

XML Source
<source>

<list>
     <entry name="A"/>
     <entry name="B"/>
     <entry name="C"/>
     <entry name="D"/>
</list>

</source>

Output
A, B, C, D

HTML view
A, B, C, D
XSLT stylesheet
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="list">
     <xsl:for-each select="entry">
          <xsl:value-of select="@name"/>
          <xsl:if test="not (position()=last())">
               <xsl:text>, </xsl:text>
          </xsl:if>
     </xsl:for-each>
</xsl:template>


</xsl:stylesheet>