xsl-list
[Top] [All Lists]

Re: Handling Cross References

2004-05-11 04:39:17

Has anyone come across this problem before/found a solution?

yes and yes, but your description is rather vague. Without any idea of
the input markup it's hard to give specific advice.

However you may want something like:

<xsl:template match="para">
<p>
  <xsl:apply-templates mode="n" select="."/>
  <xsl:apply-templates/>
</p>
</xsl:template>

<xsl:template mode="n" match="para">
 <xsl:number some customisation here />
</xsl:template>

then to generate the same number at the point of reference, the trick is
to first go to the referenced node, and then run the same template as
you use to generate the number there, something like

<xsl:template match="xref">
   see (<xsl:apply-templates mode="n" select="id(@ref)">)
</xsl:template>

then if para has an id attribute of type ID something like

<para id="foo">stuff...</para>   ... <xref ref="foo"/>

will produce

<p>iii  stuff .....</p> ...... see (iii)

David

-- 
The LaTeX Companion
  http://www.awprofessional.com/bookstore/product.asp?isbn=0201362996
  http://www.amazon.co.uk/exec/obidos/tg/detail/-/0201362996/202-7257897-0619804


________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________


<Prev in Thread] Current Thread [Next in Thread>