Subject: Re: Finding referenced / refered element in any level within a common parent element
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 10 Oct 2006 11:14:58 +0100
|
If I understand you just want to know which SubSection the reference and
the figure are in and test if they are the same.
So first key on the figures
<xsl:key name="fig" match="Figure" use="@id"/>
Then
<xsl:template match="a[@type="figure"]"
<xsl:variable name="thissec" select="ancestor::SubSection[1]/@id"/>
<xsl:variable name="figsec"
select="key('fig',@href)/ancestor::SubSection[1]/@id"/>
<xsl:choose>
<xsl:when test="$thissec=$figsec">
<a href="#{@href}">
<xsl:apply-templates/>
</a>
</xsl:when>
<xsl:otherwise>
Could link to other doc
<a href="{$figsec}.html#{@href}">
<xsl:apply-templates/>
</a>
or just make text
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
David
|