This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: variable and match
- To: xsl-list at mulberrytech dot com
- Subject: RE: variable and match
- From: Ross Cormier <merex at home dot com>
- Date: Fri, 12 May 2000 07:34:34 -0500
- Reply-To: xsl-list at mulberrytech dot com
OK, then how can I dynamically create a template in XSLT?
See the following for an example of what I am trying to do.
Thanks,
Ross
Original XML:
<ROWSET>
<REPLACE EL="FOO"/> <--I want to use this element to tell the xsl what
to replace-->
<FOO>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</FOO>
</ROWSET>
After Transform:
<ROWSET>
<NEWELEMENT>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</NEWELEMENT>
</ROWSET>
Another example:
<ROWSET>
<REPLACE EL="BAZ"/>
<BAZ>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</BAZ>
</ROWSET>
After Transform:
<ROWSET>
<NEWELEMENT>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</NEWELEMENT>
</ROWSET>
The FOO|BAZ element could be one of 30 different elements and new ones are
added all of the time, so I dont want to do something like this:
<xsl:template match="/ROWSET/FOO|FOOBAR|BAZ">
<NEWELEMENT><xsl:apply-templates/></NEWELEMENT>
</xsl:template>
At 09:51 AM 5/12/00 +0100, you wrote:
> > Can I use a variable in the match part of xsl:template?
> >
> >
> > <xsl:variable name="x" select="/ROWSET/REPLACE/@EL"/>
> > <xsl:template match="/ROWSET/{$x}">
>
>No, you can't, neither can you use curly braces. In any case, you've got the
>wrong model of what variables are: you can't use them to do textual
>substitution of one bit of XPath syntax into another bit of XPath syntax.
>
>Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list