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

Re: text or call-template inside call-template

Subject: Re: text or call-template inside call-template
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Fri, 15 Jun 2001 19:03:33 +0100
xslt template inside template
Hi Daniel,

> oh, yes, it works great. i felt afraid, when i saw jeni's example,
> even more, when i wasn't able to run it in my xalan just as it
> was written ;-) -- yep, i'm a lamer :-). but references looks
> promising. 

Oh dear :( If it's too scary and Tom's gave you what you needed, then
ignore this, but just to explain: the templates I gave doesn't run in
Xalan because it uses an extension function. I used the one from the
EXSLT namespace. You have to use the one from the Xalan namespace. You
do that by declaring the Xalan namespace in the xsl:stylesheet
element:

  xmlns:xalan="http://xml.apache.org/xalan"

And then replacing exsl:node-set() in the template with
xalan:nodeset() to give:

<xsl:template match="ref">
   <xsl:variable name="link-rtf">
      <link href="{@id}"> go to ref </link>
   </xsl:variable>
   <xsl:apply-templates select="xalan:node-set($link-rtf)/*" />
</xsl:template>

> a question -- is there any chance to put text inside call-template
> as it is possible with apply-templates? or better, use call-template
> inside call-template?

You can't put text (well, aside from whitespace) inside
xsl:apply-templates, nor inside xsl:call-template.  I'm not sure what
you'd want it to do, but perhaps its to give another parameter value?
You can use xsl:call-template (or anything else!) inside
xsl:with-param:

<xsl:call-template name="a">
   <xsl:with-param name="var" select="@some_value" />
   <xsl:with-param name="var2">
      <xsl:call-template name="b">
         <xsl:with-param name="var" select="@some_value" />
      </xsl:call-template>
   </xsl:with-param>
</xsl:call-template>

if that would help?

> and tell the truth -- why all of you are using such terrifing
> language as xslt is? <grin/> don't templates and xml parsers in java
> or even some tree-structured objects are much better, faster,
> simpler and flexible? :-)

Simplicity's in the eye of the beholder ;) I think it's much more
straight forward to query into XML with XPath and build XML with XSLT
than to use the DOM to do it. But each to their own - it's certainly
the case that Java's faster than XSLT and can handle some things
(particular string processing) a lot easier than XSLT can.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



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


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.