Subject: Re: [xsl] A smarter choose operation XSL 1.1 From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Wed, 10 Jun 2009 15:16:14 -0700 |
I am not worthy! OK, I will give this a try, thanks! On Wed, Jun 10, 2009 at 2:53 PM, Michael Kay<mike@xxxxxxxxxxxx> 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. > > 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: [xsl] 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..
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] A smarter choose operatio, Michael Kay | Thread | Re: [xsl] A smarter choose operatio, Karl Stubsjoen |
RE: [xsl] XSLT/XPATH 2.0 courses, Michael Kay | Date | Re: [xsl] A smarter choose operatio, Karl Stubsjoen |
Month |