[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: A smarter choose operation XSL 1.1

Subject: Re: A smarter choose operation XSL 1.1
From: DavePawson <davep@xxxxxxxxxxxxx>
Date: Thu, 11 Jun 2009 09:05:20 +0100
Re:  A smarter choose operation XSL 1.1
Michael Kay wrote:
select="(1.0, 1.7, 2.25, 3.0)[count(($opt.one, $opt.two, $opt.three)[.])+1]"

The strange predicate [.] selects items in the sequence that are true.

Would someone expand on this oddity please? I'm guessing 'true' in this case is the xslt version of 'true'... I.e. non-empty?

How does that relate to
($opt.one, $opt.two, $opt.three)[.]  please?

You make it look like a subscript into an array Mike?

regards DaveP


Regards,


Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay


-----Original Message-----
From: Karl Stubsjoen [mailto:kstubs@xxxxxxxxx] Sent: 10 June 2009 22:20
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: A smarter choose operation XSL 1.1


I have 3 optional param values that are either true/false. I need a solution which will return 4 different numbers when:

1) all param values are true
2) two param values are true
3) one param value is true
4) none are true

I was about to write one big choose and then thought maybe there is a more efficient way of doing it. So any ideas on this one? For sake of discussion, here is a mock up of the template and param values I
have:


<xsl:template name="test">
  <xsl:param name="optional.one" select="true()" />
  <xsl:param name="optional.two" select="true()" />
  <xsl:param name="optional.three" select="true()" />

  <!--
    Return:

    When All, return 3.00
    When Two, return 2.25
    When One, return 1.70
    When Zero, return 1.00
   -->

</xsl:template/>

Thanks for the help!

Karl..





regards


--
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.