Subject: RE: RE: help with select
From: cknell@xxxxxxxxxx
Date: Thu, 09 Feb 2006 12:01:47 -0500
|
OK, now we're getting somewhere, how about an example of the output you want?
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: Jiang, Peiyun <Peiyun.Jiang@xxxxxxxxxxxxxx>
Sent: Thu, 9 Feb 2006 11:44:58 -0500
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: help with select
Here is a simplified example:
<authors>
<author fnref="fn1" affref="aff2" paref="par1">
<sequence>1</sequence>
<fname>K.</fname><lname>Lspez-Bujol</lname>
<footnote id="fn1">These authors contributed equally to this work.</footnote>
</author>
<author affref="aff1 aff3" corresponding="yes" fnref="fn1">
<sequence>2</sequence>
<fname>F.</fname>
<lname>Zhang</lname>
</author>
<author affref="aff1 aff2" fnref="fn1">
<sequence>3</sequence>
<fname>S.</fname>
<lname>Ge</lname>
</author>
<affiliation affid="aff1">This is the second affiliation.</affiliation>
<affiliation affid="aff2">This is the second affiliation.</affiliation>
<affiliation affid="aff3">This is affiliation three.</affiliation>
</authors>
Peiyun
-----Original Message-----
From: cknell@xxxxxxxxxx [mailto:cknell@xxxxxxxxxx]
Sent: February 9, 2006 11:34 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: help with select
It would help if you posted the XML you are transforming.
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: Jiang, Peiyun <Peiyun.Jiang@xxxxxxxxxxxxxx>
Sent: Thu, 9 Feb 2006 11:20:28 -0500
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: help with select
I'm trying to made the following code work: ./footnote|//footnote[@id=./@fnref]
I want to select the child footnote element of author and any footnote that its id attribute matches the fnref attribute of the author.
In footnote[@id=./@fnref], is "." referring to author or to footnote? How do you refer author?
Thanks.
Peiyun
<xsl:template match="author">
<!-- something here -->
<xsl:choose>
<xsl:when test="count(./footnote|//footnote[@id=./@fnref]) = 1">
<xsl:apply-templates select="./footnote|//footnote[@id=./@fnref]"/>
</xsl:when>
<xsl:when test="count(./footnote|//footnote[@id=./@fnref]) > 1">
<xsl:for-each select="./footnote|//footnote[@id=./@fnref]">
<xsl:choose>
<xsl:when test="position() = last()">
<xsl:apply-templates select="." />
</xsl:when>
<xsl:when test="position() != last()">
<xsl:apply-templates select="." />
<sup>,<xsl:text> </xsl:text></sup>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:when>
</xsl:choose>
<!-- some other things here -->
</xsl:template>
|