if statement in for-each loop : if « XSLT stylesheet « XML






if statement in for-each loop


File: Data.xml 
<?xml version="1.0"?>
<book>
     <title>title 4</title>
     <author>author 1</author>
     <author>author 2</author>
     <author>author 3</author>
     <author>author 4</author>
</book>

File: Transform.xslt

<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:template match="book">
    <xsl:value-of select="title" />
    by
    <xsl:for-each select="author">
      <xsl:value-of select="." />
      <xsl:if test="position()!=last()">,</xsl:if>
      <xsl:if test="position()=last()-1">and</xsl:if>
    </xsl:for-each>
  </xsl:template>

</xsl:transform>


Output:

<?xml version="1.0" encoding="UTF-8"?>title 4
    by
    author 1,author 2,author 3,andauthor 4

 








Related examples in the same category

1.An example of if-then-else logic in XSLT 1.0
2.Compare value of attribute with if statement
3.if statement with and operator
4.Use boolean operator in if statement
5.if statement and value compare
6.Branching