xsl-list
[Top] [All Lists]

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

2004-01-28 00:29:20
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