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: one xsl file for two parsings


Joseph Vallot wrote:

> 1. is it the fastest/best/etc way to do that ?
> 2. how do I filter out some initial nodes (<type> has
> to be dropped)

I'd go

> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>  <xsl:template match="/mymsg">
>   <xsl:choose>
>     <xsl:when test="./type='new'">
>       <NEW>
         <xsl:copy-of match="./qty" />
         <xsl:copy-of match="./code" />
>       </NEW>
>     </xsl:when>
>     <xsl:when test="./type='cancel'">
>       <CANCEL>
         <xsl:copy-of match="./qty" />
         <xsl:copy-of match="./code" />
>       </CANCEL>
>     </xsl:when>
>   </xsl:choose>
>  </xsl:template>


Simple enough? Or too simple for your real-life version?


If the set of posibilities is bigger (either lots of 'types' or lots of
other values), consider

...
>     <xsl:when test="./type='new'">
>       <NEW>
          <xsl:call-template name="other_values">
>       </NEW>
>     </xsl:when>
      <xsl:when test="...">
...

<xsl:template name="other_values">
 <xsl:copy-of match="./qty" />
 <xsl:copy-of match="./code" />
 ...
</xsl:template>

...
.dan.


 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]