If statement and position(), last() functions : position « XSLT stylesheet « XML

XML
1. CSS Style
2. SVG
3. XML Schema
4. XQuery
5. XSLT stylesheet
Java
XML Tutorial
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
XML » XSLT stylesheet » position 
If statement and position(), last() functions



File: Data.xml

<?xml version="1.0"?>
<Book>
  <Title>this is the title</Title>
  <Authors>
    <Author>A</Author>
    <Author>B</Author>
    <Author>C</Author>
  </Authors>
  <Year>2007</Year>
  <Chapters>
    <Chapter number="1" title="title 1">chapter 1</Chapter>
    <Chapter number="2" title="title 2">chapter 2</Chapter>
    <Chapter number="3" title="title 3">chapter 3</Chapter>
    <Chapter number="4" title="title 4">chapter 4</Chapter>
    <Chapter number="5" title="title 5">chapter 5</Chapter>
  </Chapters>
</Book>


File: Transform.xslt

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

  <xsl:template match="Author">
    <xsl:value-of select="." />
    <xsl:if test="position() != last()">
      <xsl:text>, </xsl:text>
    </xsl:if>
    <xsl:if test="position() = last()-1">
      <xsl:text>and </xsl:text>
    </xsl:if>
    <xsl:if test="position() = last()">
      <xsl:text>.</xsl:text>
    </xsl:if>
  </xsl:template>


</xsl:stylesheet>


Output:

<?xml version="1.0" encoding="UTF-8"?>
  this is the title
  
    A, 
    B, 
    C, and 
  
  2007
  
    chapter 1
    chapter 2
    chapter 3
    chapter 4
    chapter 5
  

 
Related examples in the same category
1. position() function
2. Get the context position with position() function
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.