xsl-list
[Top] [All Lists]

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

2004-01-28 00:54:31
Works cool.Thanks a lot.
-Satish

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com
Sent: Wednesday, January 28, 2004 12:59 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Escaping the root node when using xsl:copy-of


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


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



<Prev in Thread] Current Thread [Next in Thread>