Subject: [xsl] Bib refs From: Peter Flynn <peter@xxxxxxxxxxx> Date: Sat, 24 Feb 2001 14:08:50 +2400 |
I've had my nose too close to the grindstone to see this. It looks like a candidate for Key, but I haven't grokked the fullness of keys yet. This should be really obvious but I'm probably lacking enough sleep or caffeine or something. Given some para text containing an IDREF reference to something in the bibliography of the document, eg <cit doc="someid">something</cit> , and some biblio references at the end to be sorted, each with an ID attribute, how can I replicate in the <ref> template the value which HTML will generate for the <li> that I am placing round each bib reference after sorting at the end of the doc? In other words, how do I hoik back an xsl:number from elsewhere in the tree post-sorting but pre-serialization? I can kludge round it by re-doing the entire sort locally each time a <cit> node gets handled, and testing the IDs against the IDREF, but that makes me think of steamhammers and nuts. Fragment: <para>Some text referring to <cit doc="bar">PF</cit>.</para> <para>Some more text referring to <cit doc="foo">MB</cit></para> [...] <!-- doc is declared as IDREF in the DTD, bar below is an ID --> <refs> <book id="bar"> <author>Peter <name>Foo</name></author> <title>Bars I Have Known</title> <etc>Blah</etc> </book> <article id="foo"> <author>Michael <name>Bar</name></author> <title>Foos I Have Barred</title> <doctitle>World Foo Encyclopaedia</doctitle> <etc>Blort</etc> </article> </refs> I'm trying to do this: <xsl:template match="cit"> <xsl:apply-templates/> <sup> <a> <xsl:attribute name="href"> <xsl:text>#</xsl:text> <xsl:value-of select="@doc"/> </xsl:attribute> <!-- need to replicate number generated in refs <xsl:value-of select="WTF?"/> -->? </a> </sup> </xsl:template> <xsl:template match="refs"> <h3>References</h3> <ol> <xsl:for-each select="book|article"> <xsl:sort select="author/name"/> <li><!-- Need to generate number --> <xsl:apply-templates/> </li> </xsl:for-each> </ol> </xsl:template> Should you have the time, you can get the abbreviated instance at http://oimelc.ucc.ie/bibref.xml | http://oimelc.ucc.ie/bibref.xsl (warning, use right-click, that's a Cocoon server). And my apologies to the purists for the goddessawful hybrid bib ref format...it was none of my doing, honest. ///Peter -- XSL: Think like a tree, not a chainsaw. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] xsl:script - again!, Zeynep Gunal | Thread | Re: [xsl] Bib refs, David Carlisle |
RE: [xsl] Poluting XSLT??? (Was Re:, Dimitre Novatchev | Date | RE: [xsl] Converting a string to a , Evan Lenz |
Month |