Re: [xsl] When to use text()

Subject: Re: [xsl] When to use text()
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 21 Mar 2014 16:21:34 +0000
On 21/03/2014 15:28, Ihe Onwuka wrote:
You see an hour ago I wast quite content with my

<xsl:template match="RentAmount | MonthlyAmounts"> <xsl:attribute
name="class" select="'money'"/> <xsl:apply-templates/>

You shouldn't have been really as warnings about over-use of text() come
up fairly often:-)

last time though the comments were dismissed with

This is why I don't like to post code, because all I really needed
from this thread was confirmation that duplicate elimination only
applied to node identity rather than content.

Coming back to this thread:

Meanwhile ...... if a comment node did infiltrate RentAmount/text() what effect wolud that have with the match pattern and how consistent would it be with the equivalent scenario outside a match pattern.

You apply

  <xsl:template match="RentAmount/text() | MonthlyAmounts/text()">
    <xsl:value-of select="format-number(.,if (xs:decimal(.) > 999.99)
then '$,000.00' else '$0.00')"/>

to each text node so if you have


There are two text nodes so you will get


If you had instead had

  <xsl:template match="RentAmount| MonthlyAmounts">
    <xsl:value-of select="format-number(.,if (xs:decimal(.) > 999.99)
then '$,000.00' else '$0.00')"/>

Then you would get



The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________

Current Thread