Subject: Re: [xsl] why get the value not be calculated From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sat, 31 Dec 2011 10:57:32 -0800 |
I was under the impression that you were using XSLT 1.0. Tunnel parameters are a feature only of XSLT 2.0 and above. In case you are using XSLT 2.0, the code can be significantly refactored and simplified. On Sat, Dec 31, 2011 at 10:43 AM, Roelof Wobben <rwobben@xxxxxxxxxxx> wrote: > > Oke, > > > > I found this what maybe can solve the problem. > > > > <xsl:apply-templates select="." mode="custom_template"> > B <xsl:with-param name="attribute_name" tunnel="yes"> > B B B <xsl:choose> > B B B B <xsl:when test="@attribute1">Attribute no. 1</xsl:when> > B B B B <xsl:when test="@attribute2">Attribute no. 2</xsl:when> > B B B B <xsl:otherwise>Error</xsl:otherwise> > B B B </xsl:choose> > B </xsl:with-param> > B <xsl:with-param name="attribute_value" tunnel="yes"> > B B B <xsl:choose> > B B B B <xsl:when test="@attribute1"><xsl:value-of select="@attribute1"/></xsl:when> > B B B B <xsl:when test="@attribute2"><xsl:value-of select="@attribute1"/></xsl:when> > B B B B <xsl:otherwise>No matching attribute </xsl:otherwise> > B B B </xsl:choose> > B </xsl:with-param> > </xsl:apply-templates> > > > > > I have to take a look if I can adapt this to my situation. > > > > Roelof > > > > > > > > > > ---------------------------------------- > From: dnovatchev@xxxxxxxxx > Date: Sat, 31 Dec 2011 10:37:26 -0800 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] why get the value not be calculated > > Just use: > > > > Also, note that in many cases it may be better to use > and not . Parameters can be > passed with in the same way they are passed with > . > > On Sat, Dec 31, 2011 at 10:21 AM, Roelof Wobben wrote: > > > > Oke, > > > > > > > > I understand it. > > > > But I need to put the result of the calculation into a param so I can use the result again on another place in the script. > > > > > > > > So I think I need a call template and with param. > > > > > > > > Roelof > > > > > > > > > > > > ---------------------------------------- > From: dnovatchev@xxxxxxxxx > Date: Sat, 31 Dec 2011 09:56:20 -0800 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] why get the value not be calculated > > I think that your expression seems to calculate correctly the wanted > value. For example: > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > > > > > > "floor(number($total_articles)-1) > div > $articles_per_page +1"/> > > > > When this transformation is applied on any XML document (not used at > all in this example), the wanted, correct result is produced: > > 4 > > > > On Sat, Dec 31, 2011 at 9:39 AM, Roelof Wobben wrote: > > > > Oke, > > > > > > > > It worked but does the value of the calculation put into the param number_pages ? > > > > > > > > What I try to calculate is how many pages I need for displaying all the articles when I have a fixed number of articles on a page. > > > > > > > > So as example : > > > > > > > > I have 4 articles. > > > > And I want to have 3 articles on a page. > > > > Then I need 4/3 = 1.3333 pages. > > > > Then I have to make it the next whole number so it will be 2. > > > > > > > > Roelof > > > > > > > > > > > > > > > > > > > > ---------------------------------------- > From: dnovatchev@xxxxxxxxx > Date: Sat, 31 Dec 2011 09:27:53 -0800 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] why get the value not be calculated > > Yes, you have one excessive ')'. Change to: > > "floor(number($total_articles)-1) div $articles_per_page +1"/> > > This makes the expression syntactically correct -- I haven't tried to > understand wht you want to calculate, so this may or maynot be the > semantically right expression. > > > > On Sat, Dec 31, 2011 at 9:15 AM, Roelof Wobben wrote: > > > > Thanks > > > > > > > > But I get now this error message : > > > > > > > > XSLTProcessor::importStylesheet(): xsl:value-of : could not compile select expression 'floor(number($total_articles)-1) div $articles_per_page)+1' > > > > > > > > Roelof > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------- > From: dnovatchev@xxxxxxxxx > Date: Sat, 31 Dec 2011 09:11:22 -0800 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] why get the value not be calculated > > On Sat, Dec 31, 2011 at 9:04 AM, Roelof Wobben wrote: > > > floor(number($total_articles)-1) div $articles_per_page)+1"/ > > You want an XPath expression to be evaluated -- not just output. > > Therefore, use: > > > > > > > > -- > Cheers, > Dimitre Novatchev > --------------------------------------- > Truly great madness cannot be achieved without significant intelligence. > --------------------------------------- > To invent, you need a good imagination and a pile of junk > ------------------------------------- > Never fight an inanimate object > ------------------------------------- > To avoid situations in which you might make mistakes may be the > biggest mistake of all > ------------------------------------ > Quality means doing it right when no one is looking. > ------------------------------------- > You've achieved success in your field when you don't know whether what > you're doing is work or play > ------------------------------------- > Facts do not cease to exist because they are ignored. > ------------------------------------- > I finally figured out the only reason to be alive is to enjoy it. > > > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] why get the value not be , Roelof Wobben | Thread | RE: [xsl] why get the value not be , Roelof Wobben |
RE: [xsl] why get the value not be , Roelof Wobben | Date | RE: [xsl] why get the value not be , Roelof Wobben |
Month |