Stefan Seefeld [mailto:[email protected]] wrote:


> <xsl:template match="d:section/d:orderedlist/d:listitem" mode="xref-to">
>    <xsl:param name="referrer"/>
>    <xsl:param name="xrefstyle"/>
>    [<xsl:value-of
> select="ancestor::d:section/d:titleabbrev"/>]/<xsl:copy-of
> select="position()"/>
> </xsl:template>
> 
> However, this always results in a label of the form "[...]/1", i.e. the
> reported position is "1", no matter whether the matched listitem is
> actually the first or not. (Please find attached a little test doc that
> results in:


The value returned by the "position" function depends on the context in which 
you retrieve the element. It can sometimes be a mind-bending exercise to try to 
figure out exactly what you're supposed to get back from it.

In this case, you might try to simply count how many elements come before it, 
and add 1. This also lets you be more specific about what you're counting. So 
instead of:

        select="position()"

try:

        select="count(preceding-sibling::listitem) + 1"

I didn't test this, but I think it should work.


*************************
Rob Cavicchio
Principal Technical Writer & Information Architect
EMC Captiva
Information Intelligence Group
EMC Corporation
3721 Valley Centre Drive, Ste 200
San Diego, CA 92130

P: (858) 320-1208
F: (858) 320-1010
E: [email protected]

The opinions expressed here are my personal opinions. Content published here is 
not read or approved in advance by EMC and does not necessarily reflect the 
views and opinions of EMC.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to