Re: [xsl] Displaying only first Text node

Subject: Re: [xsl] Displaying only first Text node
From: Florent Georges <lists@xxxxxxxxxxxx>
Date: Wed, 12 Dec 2007 19:03:34 +0100 (CET)
Horace Burke wrote:


> <xsl:template match="para" mode="ProdName_BR">
>    <xsl:choose>
>       <xsl:when test="parent::ProdName and child::br">
> 	 <xsl:if test="position()=1">
> 	    <xsl:apply-templates select="node()"/>
> 	 </xsl:if>
>       </xsl:when>
>    </xsl:choose>
> </xsl:template>

  Instead of checking some condition, you can put them in the match
pattern.  Above, you don't check the position of a text node within its
parent, but of the para itself.  And finally, you don't want the first
text node, but the text nodes before the first br element:

    <xsl:template match="ProdName/para[br]" mode="ProdName_BR">
       <xsl:value-of select="text()[not(preceding-sibling::br)]"/>



Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail

Current Thread