Well it's not clear how you wish to access it, there are a number of possibilities, these are shown together with the xpath which would retrieve it from within the template matching L2/L3:
1) As the first child of the document element:
(/*/*)[1]
2) As the first preceding sibling of the parent:
../preceding-sibling::*[1]
3) As the preceding element:
(preceding::*)[1]
Here's a stylesheet to see:
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="/">
<xsl:apply-templates select="root/L2/L3"/>
</xsl:template>
<xsl:template match="L2/L3">
(/*/*)[1] gives<xsl:text>#x0a;</xsl:text>
<xsl:value-of select="(/*/*)[1]"/><xsl:text>#x0a;</xsl:text><xsl:text>#x0a;</xsl:text>
../preceding-sibling::*[1] gives<xsl:text>#x0a;</xsl:text>
<xsl:value-of select="../preceding-sibling::*[1]"/><xsl:text>#x0a;</xsl:text><xsl:text>#x0a;</xsl:text>
(preceding::*)[1] gives<xsl:text>#x0a;</xsl:text>
<xsl:value-of select="(preceding::*)[1]"/><xsl:text>#x0a;</xsl:text><xsl:text>#x0a;</xsl:text>
</xsl:template>
</xsl:stylesheet>
Joe (MVP - xml)