xsl-list
[Top] [All Lists]

Re: [xsl] XPath function for <xsl:apply-templates/>?

2013-11-18 08:19:15
On 18/11/2013 14:11, Christian Mahnke wrote:
Hi,
might have been asked here before but is there some XPath function that works like 
<xsl:apply-templates/>?
This would be good for readability. I’ll give you an example, currently I do 
this:

                         <xsl:variable name="content">
                             <xsl:apply-templates mode="filter"/>
                         </xsl:variable>
                         <xsl:copy-of select="a18:field('place', $content)“/>

What I’am asking for would look like this:

                         <xsl:copy-of select="a18:field('place', 
apply-templates('filter'))“/>


Any thoughts?
There is probably an extension for this.

Best,
Christian

xmlns:f="data:,f"

well making mode a parameter in general is harder as it's a compile time constant in the normal syntax, but for a fixed mode you can doe

<xsl:function name="f:apply-templates-filter">
  <xsl:param name="seq"/>
  <xsl:apply-templates mode="filter" select="$seq"/>
</xsl:function>


<xsl:copy-of select="a18:field('place', f:apply-templates-filter(node())“/>

Note you can't have an implicit default context in user defined functions so you need to pass in the sequence node() explicitly.

David


--~------------------------------------------------------------------
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>
--~--