[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

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

Subject: RE: Escaping the root node when using xsl:copy-of
From: "Kenny Akridge" <kakridge@xxxxxxxxxxxxx>
Date: Wed, 28 Jan 2004 03:01:42 -0500
xsl copy of escape
Maybe I'm oversimplifying or not understanding the issue, but can't you
just do this:

<xsl:template match="WEATHER_FORECAST">
	<xsl:element name="BODY">
		<xsl:copy-of select="node()[not(self::DURATION)]"/>
	</xsl:element>
</xsl:template>


-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Satish
Terala
Sent: Wednesday, January 28, 2004 1:53 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  Escaping the root node when using xsl:copy-of

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>
    </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>
Using <xsl:copy-of select="node()[not(self::DURATION)]"/> escapes the
DURATION element , but i get the root <WEATHER_FORECAST> tag. My
question was how do i escape this. 
<xsl:copy-of select="*[not(self::DURATION)]/node() |
node()[not(self::*)]"/> does'nt quite help, it knocks of all the
<TEMPERATURE> , <CLOUD> tags but not the root tag.
thanks
-Satish





-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
Jarno.Elovirta@xxxxxxxxx
Sent: Wednesday, January 28, 2004 12:01 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  Escaping the root node when using xsl:copy-of


Hi,

> Is there any way i can escape the root node (just the element 
> tag) being copied while all the children are copied as is.

  <xsl:template match="/*">
    <xsl:copy-of select="node()"/>
  </xsl:template>

> Currently am using <xsl:copy-of 
> select="node()[not(self::DURATION)]"/> which copies 
> everything except the DURATION child. Problem it also copies 
> the root node which is the node where i start copying.

I'm not sure if this is what you mean,

  <xsl:copy-of select="*[not(self::DURATION)]/node() |
node()[not(self::*)]"/> 

Cheers,

Jarno -  Delerium: Truly (Club)

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


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


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.