1<?xml version='1.0'?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 3 version="1.0"> 4<xsl:template match="/"> 5 <xsl:apply-templates select="//page"/> 6</xsl:template> 7 8<xsl:template match="page"> 9 10current page : <xsl:value-of select="@name"/> 11-------------------- 12 dump union : "<xsl:for-each 13select="(preceding-sibling::page[1]|parent::group[1]|/document)"> 14 <xsl:value-of select="name()"/>,</xsl:for-each>" 15 union-last : <xsl:value-of select="name( 16(preceding-sibling::page[1]|parent::group[1]|/document)[last()] )"/> 17 union-last (without /root) : <xsl:value-of select="name( 18(preceding-sibling::page[1]|parent::group[1])[last()] )"/> 19 preceeding-sibling <xsl:value-of select="name(preceding-sibling::page[1])"/> 20 parent-group <xsl:value-of select="name(parent::group[1])"/> 21 root <xsl:value-of select="name(/document)"/> 22----------------------- 23</xsl:template> 24 25</xsl:stylesheet> 26