Subject: [xsl] Re: Re: Template match via xsl:param From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Tue, 15 Jan 2002 02:25:55 -0800 (PST) |
> > Can anyone give me a simple example on how to achieve this without > > genereting the xsl file on the fly? > > You can't, I'm afraid. > > If the $path parameter only specifies an element name, then what you > could do is change the xsl:include to an xsl:import, and have the > following template, which matches all elements, and goes on to process > them with whatever's supplied in identity.xsl unless their name is the > same as the $path parameter: > > <xsl:template match="*"> > <xsl:if test="name() != $path"> > <xsl:apply-imports /> > </xsl:if> > </xsl:template> > > If the $path is a more complex path, you could extend this solution to > do more elaborate checks on the identity of the element (rather than > just looking at its name) before going on to process it (or not). > > Because of predicates, trying to implement a path pattern matcher in > XSLT is just as hard as trying to implement an XPath evaluator in > XSLT. But then probably the patterns that you're actually using are a > subset of the patterns that would be allowed in the match attribute, > so you might be able to make it work. > > Otherwise, as you say, you need to generate the XSLT stylesheet on the > fly. There's an option not to ***generate*** a stylesheet, but to use a single stylesheet and set the value of the "select" attribute of a given xsl:variable or xsl:param to the desired XPath expression. Once this is done (e.g. via DOM), then the transformation may be applied. This is essentially how the XPath Visualiser works. Cheers, Dimitre Novatchev. __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] ADV: XML/XSL Training - Canbe, Steve Ball | Thread | [xsl] xslt/xpath 2.0 comments ( lon, cutlass |
Re: [xsl] how to select nodes betwe, Jeni Tennison | Date | [xsl] xslt/xpath 2.0 comments ( lon, cutlass |
Month |