Altova Mailing List Archives


Re: [xsl] "re-calling" a template from anchor

From: "bryan rasmussen" <rasmussen.bryan@--------->
To:
Date: 5/10/2007 11:08:00 PM
I'm thinking it looks like abel's last two suggestion, an unending
recursion with the recursion writing elements inside of elements.

the template test writes out an a element with a href attribute.



<a href=""></a>



but you call it again, in the way you're doing it means you would be
trying to do this:

<a href="<a hreff=""></a>"></a>



also you are doing it in such a way that it looks like it will keep
calling itself with howmany = 10 after the first time you reach
howmany = 10.

You probably need to specify closer what you want, most here could
help you solve these particular problems but without knowing clearly
what you want the solution wouldn't be any big help, I guess.

Cheers,
Bryan Rasmussen
On 5/10/07, Abel Braaksma <abel.online@xxxxxxxxx> wrote:
Vaduvoiu Tiberiu wrote:
> Hi all. Can anyone tell me if it's possible to "re-call" a template from an anchor? something like:
>
> <xsl:template name="test">
>     <xsl:param name="howmany" select="5">
>         <xsl:value-of select="parent/child[position()>$howmany]/>
>                 <a><xsl:attribute name="href"><xsl:call-template name="test"><xsl:with-parameter name=howmany select=10></....</a>
>
> I tried it but I get an Http error 500. So I'm trying to display a fixed number(e.g. 5) of elements and have a link wich when clicked displays the next 5 elements let's say. The only way I figured to do it was to call the same template but I can't make it work. Anyone have any solution? 10x
>

Not sure what you are trying here. MK already pointed out that you may
not understand the processing model. You recursively call a template to
create an attribute, which is fine, but unlikely to create what you want
(an attribute can't contain an element, which is what your code seems to
imply...), since your snippet is not well-formed XML, or even XSLT, so I
can't tell for sure without seeing more.

Error 500 means: internal error. If you use Cocoon, you should be able
to find the XSLT error in the logs. My guess is, since you are
recursively calling a template inside xsl:attribute, that the error is
something like "can't create element inside an attribute" or similar. Or
is just says "syntax error"... Or... since this recursive loop won't
end, it just runs out of stack space.

Cheers,
-- Abel

Disclaimer

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.