Re: [xsl] Cross-reference not returning correct node

Subject: Re: [xsl] Cross-reference not returning correct node
From: "Joris Gillis" <roac@xxxxxxxxxx>
Date: Sat, 13 Aug 2005 19:56:26 +0200
Hi,
Tempore 19:34:10, die 08/13/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Debbie Evans <devans@xxxxxxxxx>:

when I try to cross reference to the table
number it only returns the text "Table" -- no number when using the
following:

<xsl:for-each select="key('tableids',@refid)">
<xsl:text>Table&#xA0;</xsl:text>
<xsl:number count="table//title" level="any" from="manual"/>
</xsl:for-each>

If the cross-referenced table in your test case happens to be the first table with a title, you will get no output indeed. That's because the current node is a table element. the 'xsl:number' will release it's counting algorithm on every node preceding-or-self from the current node (the title of the current table will thus not be counted). Since you were really counting titles instead of titled tables, no result would be obtained.


Try this:
<xsl:number count="table[.//title]" level="any" from="manual"/>

key: <xsl:key name="tableids" match="table[@id]" use="@id"/>

regards,
--
Joris Gillis (http://users.telenet.be/root-jg/me.html)
Ceterum censeo XML omnibus esse utendum

Current Thread