xsl-list
[Top] [All Lists]

Re: My Intent: Template to generate RTF

2003-10-17 11:52:35
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



<Prev in Thread] Current Thread [Next in Thread>