[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Escaping the root node when using xsl:copy-of


Subject: RE: [xsl] Escaping the root node when using xsl:copy-of
From: Jarno.Elovirta@xxxxxxxxx
Date: Wed, 28 Jan 2004 09:29:20 +0200

Hi,

> Thanks for the answer but it does'nt quite answer my question.
> To make it clear This is my input xml.
> <WEATHER_FORECAST>
>     <CLOUD>   
>       <QUANTITY>
>         <AMOUNT>8</AMOUNT>
>       </QUANTITY>
>     </CLOUD>
>     
>     <TEMPERATURE>
>       <QUANTITY>
>         <AMOUNT>-1,7</AMOUNT>
>         <UNIT/>
>       </QUANTITY>
>     </TEMPERATURE>
>     <DURATION>
> 	</START_DATE_TIME>
> 	</END_DATE_TIME>

Your example XML is not well-formed…

>     </DURATION>
>   </WEATHER_FORECAST>
> Am trying to output some thing like this escaping the 
> DURATION element and the root element tag <WEATHER_FORECAST> element.
> <BODY>
>    <CLOUD>   
>       <QUANTITY>
>         <AMOUNT>8</AMOUNT>
>       </QUANTITY>
>     </CLOUD>
>     
>     <TEMPERATURE>
>       <QUANTITY>
>         <AMOUNT>-1,7</AMOUNT>
>         <UNIT/>
>       </QUANTITY>
>     </TEMPERATURE>
> <BODY>

To rephrase, you want an identity transformation where you replace WEATHER_FORECASE with BODY and ignore DURATION and it's descendants.

  <xsl:template match="WEATHER_FORECAST">
    <BODY>
      <xsl:apply-templates select="@* | node()"/>
    </BODY>
  </xsl:template>
  <xsl:template match="DURATION"/>
  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

Cheers,

Jarno -  Delerium: Truly (Club)… still, it's such a brilliant song

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords
xml