Re: [xsl] My Intent: Template to generate RTF

Subject: Re: [xsl] My Intent: Template to generate RTF
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 17 Oct 2003 14:52:35 -0400
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[@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@xxxxxxxxxxxxxxxx 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



Current Thread