Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Last()- Returns a value equal to the context size

File: Data.xml <?xml version="1.0" encoding="ISO-8859-1"?> <africa>  <source>   <title>CIA Factbook</title>   <url>http://www.cia.gov/cia/publications/factbook/</url>   <populations estimate="true" year="2002"/>  </source>  <nation>   <name>Algeria</name>   <capital>Algiers</capital>   <population>32277942</population>   <cc>dz</cc>  </nation>  <nation>   <name>Burundi</name>   <capital>Bujumbura</capital>   <population>6373002</population>   <cc>bi</cc>  </nation>  <nation>   <name>Eritrea</name>   <capital>Asmara</capital>   <population>4465651</population>   <cc>er</cc>  </nation> </africa> File: Transform.xslt <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="text" />   <xsl:template match="africa">     <xsl:text>The nations of Africa are </xsl:text>     <xsl:apply-templates select="nation" />   </xsl:template>   <xsl:template match="nation">     <xsl:value-of select="name" />     <xsl:if test="position() != last()">,</xsl:if>     <xsl:if test="position() mod 5 = 0">       <xsl:text>&#10;</xsl:text>     </xsl:if>     <xsl:if test="position() = (last() - 1)">and</xsl:if>     <xsl:if test="position() = last()">.</xsl:if>   </xsl:template> </xsl:stylesheet> Output: The nations of Africa are Algeria,Burundi,andEritrea.