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

Re: [xsl] boolean values


Subject: Re: [xsl] boolean values
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 28 Aug 2003 12:07:06 +0100

<xsl:variable name="hasContracts" select="
 count(/Output[$branding = 'ABC']/Contracts/Contract[substring(ContractId,  1,1)='Q']) &#62; 0
 or
 boolean(/Output[$branding != 'ABC']/Contracts/Contract)
"/>

although since a test of count() > 0 is just testing if the node set is
non empty, and boolean() does the same, and substring 1,1 is the start
of the string, this can be simplified to

<xsl:variable name="hasContracts" select="
 /Output[$branding = 'ABC']/Contracts/Contract[starts-with(ContractId,'Q')]
 or
 /Output[$branding != 'ABC']/Contracts/Contract
"/>

which makes it clearer that it can be further simplified to


<xsl:variable name="hasContracts" select="
 boolean(/Output/Contracts/Contract[($branding = 'ABC' and
 starts-with(ContractId,'Q')) or not($branding = 'ABC')])
"/>

which is probably closer to the original description of the problem.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

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



Current Thread