This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: variable and match


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]