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]
Other format: [Raw text]

RE: deep "copy-of" a source fragment


Is this what you want?

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

> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Terence
> Kearns
> Sent: Wednesday, 4 September 2002 18:48
> To: XSL-List@lists.mulberrytech.com
> Subject: [xsl] deep "copy-of" a source fragment
> 
> 
> Hi everyone, I just joined this list so "greetings". I joined because 
> even after reading the entire 
> http://www.dpawson.co.uk/xsl/sect2/N1930.html page on copying, and 
> reading the reference on xsl:copy and xsl:copy-of I am still 
> vexed by an 
> annoying problem. I'm using XALAN through the ColdFusion MX 
> implementation of their xmlTransform() function. I'm not sure exactly 
> which version of Xalan that is.
> 
> I'm trying to deep copy [the _content_ of] an xhtml body 
> element. I have 
> users who enter arbitary HTML which I then pass through HTML 
> TIDY which 
> produces a nice well-formed XHTML document for me. I want to 
> extract the 
> body and store the content only.
> 
> With my existing attempts, I either get a concatenated string 
> of all the 
> leaf text-nodes, or I get the whole entire file.
> 
> Here's what's stange, if I do a
> 
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
>      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> 
>      <xsl:template match="/">
>          <xsl:copy-of select="node()"/>
>      </xsl:template>
> 
> </xsl:stylesheet>
> 
> I get the entire source tree copied to result tree.
> 
> *This is to be expectd*
> 
> but if I change
> 
> 	match="/"
> 
> to
> 
> 	match="/html/body"
> 
> then I get leaf nodes again :(
> I also tried
> 
> match="/html/body/"
> match="/html/body/*"
> match="/html/body/@*|node()"
> match="/html/body/node()"
> 
> no dice... I either get leaf text nodes or the whole entire file.
> 
> makes no difference if I change
> 
> 	select="node()"
> 
> to
> 
> 	select="."
> 
> or
> 
> 	select="@*|node()"
> 
> 
> Is there no way at all to copy a fragment from the source 
> tree onto the 
> result tree?!
> 
> I've also tried a boatload of other things... too many to list...
> 
> I know I can do this using a regular expression instead, but 
> that's not 
> the point, I _should_ be able to do it easily with XSLT.
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 

 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]