xsl-list
[Top] [All Lists]

RE: [xsl] Dynamic dispatch of functions/templates (was matching text() )

2010-12-23 11:28:25
I think I shall have a hard time explaining the use case without writing
stretching the patience of this list.
Your idea is interesting.

<xsl:variable name="temp">
<xsl:for-each select="text()"><xsl:value-of select="."/></xsl:for-each>
</xsl:variable>
<xsl:apply-templates select="$temp/text()"/>


Question: will this preserve the context in $temp ?
That is, suppose I'm in a template like

<xsl:template match="/FOO/BAR">

Then execute the above.
Would it match only 

<xsl:template match="/FOO/BAR/text()"> 

And match it only once ?

?

(say and not

<xsl:template match="/SPAM/BAR/text()">

)

?

Also it *looks like* $temp above becomes a sequence, not a single text node
???
(Or am I reading too much XQuery into this ?)


Thanks for your patience.


----------------------------------------
David A. Lee
dlee(_at_)calldei(_dot_)com
http://www.xmlsh.org

-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Sent: Thursday, December 23, 2010 11:46 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Dynamic dispatch of functions/templates (was matching
text() )


On 23/12/2010 14:37, David Lee wrote:
Still thinking how to change

             <xsl:apply-templates select="text()"/>
             .

<xsl:template match="some_xpath/text()">
..


Into something where the text is concatenated in the face of PI's or
comments.

It sounds as if there's a back-story to this one which perhaps I should 
have been following, but on the face of it, you can simply do

<xsl:variable name="temp">
<xsl:for-each select="text()"><xsl:value-of select="."/></xsl:for-each>
</xsl:variable>
<xsl:apply-templates select="$temp/text()"/>

perhaps with a mode.

I don't really follow the logic of how your stated requirement leads to 
a need for dynamic despatch.

Michael Kay
Saxonica

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--