[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: sibling axis: can't restrict


Subject: RE: sibling axis: can't restrict
From: sara.mitchell@xxxxxxxxx
Date: Fri, 6 Oct 2000 12:28:31 -0400

Well if I understand what you want, you're test is not correct:

<xsl:when test="following-sibling::ead[1]">

actually means "If the au node has at least 1 following-sibling
named ead -- it's not finding the first sibling node, but the first
ead sibling node. What you want is something more like this (untested):

<xsl:when test="following-sibling::*[1][name()='ead']">

This means find the first following sibling and test the name, if 
it's ead, then continue. 

Sara

> -----Original Message-----
> From: Pollington, Lee (ELSLON) [mailto:lee.pollington@xxxxxxxxxxxxx]
> Sent: Friday, October 06, 2000 6:45 AM
> To: 'xsl-list@xxxxxxxxxxxxxxxx'
> Subject: sibling axis: can't restrict
> 
> 
> 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@xxxxxxxxxxx] 
> 
> 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@xxxxxxxxxxx</ead>
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread