|
Subject: Re: [xsl] Want to print elements/attrib specified by an XPath that is passed as a param From: Liam Quin <liam@xxxxxx> Date: Mon, 15 Jun 2009 23:41:26 -0400 |
On Mon, Jun 15, 2009 at 08:04:48PM -0700, John Christopher wrote:
> My goal: I want an XSLT stylesheet that displays the contents
> of any element or attribute whose name I pass to the stylesheet
> as an XPath via a param.
[...]
There are three main approaches I can think of here.
(1) write an XSLT stylesheet that generates a new stylesheet in
which those XPath fragments (or template match patterns) are
in fact hard-coded...
(2) use the eval extension in an implementation that provides it
(3) interpret the XPath expression in XSLT.
E.g.
<xsl:template match="*">
<xsl:param name="name" />
<xsl:if test="localname() = $name">
<xsl:message>got one!</xsl:message>
</xsl:if>
<xsl:apply-templates />
</xsl:template>
Well, this doesn't handle a/b, but you could use substring-after
to handle that, or, in XSLT 2, you could split the string on "/"
and then look for predicates, and you could do fancy things with count()
to sort into document rder & weed out duplicates.
But I'd favour approach (1) probably.
Liam
--
Liam Quin, W3C XML Activity Lead, http://www.w3.org/People/Quin/
http://www.holoweb.net/~liam/ * http://www.fromoldbooks.org/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Want to print elements/attrib, John Christopher | Thread | Re: [xsl] Want to print elements/at, ac |
| [xsl] Want to print elements/attrib, John Christopher | Date | Re: [xsl] Want to print elements/at, ac |
| Month |