Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Last() as index

File: Data.xml <wine grape="Chardonnay">   <winery>shop 1</winery>   <product>product 1</product>   <year>1998</year>   <desc>description</desc>   <prices>     <list>6.99</list>     <discounted>5.99</discounted>     <case>71.50</case>   </prices> </wine> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="1.0">   <xsl:output method="xml" omit-xml-declaration="yes" indent="no" />      <xsl:template match="item[3]">     ~~~~ Start of item element's template ~~~~ 1. This node: {     <xsl:apply-templates />     } 2. First node: {     <xsl:value-of select="../item[1]" />     } 3. Last node: {     <xsl:value-of select="../item[last()]" />     } 4. Preceding node: {     <xsl:value-of select="preceding-sibling::item[1]" />     } 5. Next node: {     <xsl:value-of select="following-sibling::item[1]" />     } 6. flavor attribute value of first node: {     <xsl:value-of select="../item[1]/@flavor" />     } ~~~~ End of item element's template ~~~~   </xsl:template>   <xsl:template match="item" /> </xsl:stylesheet> Output:   shop 1   product 1   1998   description        6.99     5.99     71.50