|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: variable and match
One way I've done this is to use a two-step process; first, create your
"dynamic" stylesheet by transforming your original XML into XSLT; then,
apply the newly-created stylesheet to the original XML to produce your
output. For your example, if you take the following "meta" stylesheet:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/ROWSET">
<xsl:element name="xsl:stylesheet">
<xsl:attribute name="version">1.0</xsl:attribute>
<xsl:element name="xsl:template">
<xsl:attribute name="match">/ROWSET/<xsl:value-of
select="REPLACE/@EL"/>
</xsl:attribute>
<xsl:element name="xsl:element">
<xsl:attribute name="name">ROWSET</xsl:attribute>
<xsl:element name="xsl:element">
<xsl:attribute name="name">NEWELEMENT</xsl:attribute>
<xsl:element name="xsl:copy-of">
<xsl:attribute name="select">*</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
And use it to transform
<ROWSET>
<REPLACE EL="FOO"/>
<FOO>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</FOO>
</ROWSET>
The output is:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/ROWSET/FOO">
<xsl:element name="ROWSET">
<xsl:element name="NEWELEMENT">
<xsl:copy-of select="*"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Using this output to style the original XML yields:
<ROWSET>
<NEWELEMENT>
<DATA1>data1</DATA1>
<DATA1>data1</DATA1>
</NEWELEMENT>
</ROWSET>
A little cumbersome, perhaps, but it works for the example you give...
- Kevin
Kevin Williams
XML Architect, Ultraprise Corporation
> -----Original Message-----
> From: Ross Cormier [mailto:merex@xxxxxxxx]
> Sent: Friday, May 12, 2000 8:35 AM
> To: xsl-list@xxxxxxxxxxxxxxxx
> Subject: RE: variable and match
>
>
> OK, then how can I dynamically create a template in XSLT?
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








