Karl,
At 12:08 PM 10/17/2003, you wrote:
If you've been following the thread:
"Template to return XML"
I wanted to explain my intent just a bit more. I did manage to set my
variable, not with a template call but a fairly complex *select*
-----
OMG! Thinking of another solution as I type! The *complex* select
statement, this string can be returned by a template... yes/no?
-----
Only if you use an extension function such as saxon:eval. Ordinarily a
processor is not able to take strings that it creates dynamically and
evaluate them as expressions. (Snakes often find their own tails hard to
swallow.)
Anyways, this is what I ended up with for a variable declaration:
<xsl:variable name="xmTmplt"
select="$DOC_TEMPLATE_XML//DOC[(_at_)id=ancestor-or-self::*[count(current()/ances
tor-or-self::*)-1]/@id]"/>
Its a bit messy, but it works (is this common? maybe this isn't messy, but
is the most *complex* xpath expression I've written so far).
I've written much worse. So common ... no ... unheard-of ... not at all.
So my intent, was to wrap up the messy expression into a template. The
template would be responsible for returning a correct (corresponding)
$DOC_TEMPLATE_XML (this is basically a footprint to the data source (uggg...
struggling to talk the talk here, sorry).
So, the above varialbe decleration was to look something like this:
<xsl:variable name="xmTmplt" select="A_CALL_TO_A_TEMPLATE"/>
Now I'm wondering if this will work:
<xsl:variable name="xmTmplt" select="$A_COMPLEX_XPATH_STRING_VALUE"/>
Nope ... see above.
This, however, requires an additional line of code, the variable
decleration. This could be global... I'm going to play around with this
*thinking outloud a bit here*
Also look at Mukul's solution. He took you at your word that you needed to
return the nodes with a named template, and showed how you could use the
node-set() extension function to turn the RTF you get back into a node set
you can process.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list