[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] XPath function for
Re: [xsl] XPath function for ?
Subject: Re: [xsl] XPath function for <xsl:apply-templates/>? From: Michael Kay <mike@xxxxxxxxxxxx> Date: Mon, 18 Nov 2013 15:47:55 +0000 |
It's not very difficult to add to your stylesheet: <xsl:function name="f:apply-templates"> <xsl:param name="node" as="node()*/> <xsl:apply-templates select="$node"/> </xsl:function> and if you define one such function for each declared mode, then in 3.0 you can use dynamic function invocation to select a mode dynamically. Michael Kay Saxonica On 18 Nov 2013, at 14:25, Christian Mahnke <cmahnke.sub@xxxxxxxxxxxxxx> wrote: > Hi, > Ive noticed the problem with the dynamic mode setting as well. Maybe these can be points for improvement in the next version of the XSLT specification: > * dynamic mode > * function like shortcut for apply-templetes > > Thanks, > Christian > > > > > Am 18.11.2013 um 15:19 schrieb David Carlisle <davidc@xxxxxxxxx>: > >> 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. Ill 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 Iam 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath function for <xsl:a, David Carlisle | Thread | Re: [xsl] XPath function for <xsl:a, Dimitre Novatchev |
Re: [xsl] XPath function for <xsl:a, David Carlisle | Date | [xsl] xsl:package/xsl:expose?, Tony Graham |
Month |