This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
sibling axis: can't restrict
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: sibling axis: can't restrict
- From: "Pollington, Lee (ELSLON)" <lee dot pollington at biomednet dot com>
- Date: Fri, 6 Oct 2000 14:44:43 +0100
- Reply-To: xsl-list at mulberrytech dot com
I saw a previous sibling axis question, but am still stumped on this. The
debug output suggests that the axis restriction [1] is right and I should
only link the name with the email address if the first following sibling
element is "ead", but both names are getting linked as if the test was
acting upon all following siblings.
tia
Lee
XSLT:
<xsl:for-each select="au">
<xsl:choose>
<xsl:when test="following-sibling::ead[1]">
<a>
<xsl:attribute name="href">
<xsl:text>mailto:</xsl:text>
<xsl:value-of
select="following-sibling::ead[1]"/>
</xsl:attribute>
<xsl:apply-templates/>
</a>
</xsl:when>
<xsl:otherwise><xsl:apply-templates/></xsl:otherwise>
</xsl:choose>
[next: <xsl:value-of select="following-sibling::node()"/>]
<xsl:choose>
<xsl:when test="position()=last()-1"> and </xsl:when>
<xsl:when test="position()=last()"><xsl:text>
</xsl:text></xsl:when>
<xsl:otherwise>, </xsl:otherwise>
</xsl:choose>
</xsl:for-each>
OUTPUT: Note: both names are linked with the single email address
by Saul A. Datwyler [next: Claude F.Meares] and Claude F. Meares [next:
cfmeares@ucdavis.edu]
XML:
<au>
<fnm>
<fnm-data>Saul A.</fnm-data>
</fnm>
<snm>
<snm-data>Datwyler</snm-data>
</snm>
</au>
<au>
<fnm>
<fnm-data>Claude F.</fnm-data>
</fnm>
<snm>
<snm-data>Meares</snm-data>
</snm>
</au>
<ead type="email">cfmeares@ucdavis.edu</ead>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list