Try:
<xsl:template match="RootEle">
<xsl:variable name="a" select="Letter/Address"/>
<RootEle>
<Letter>
<xsl:copy-of select="$a | $a/preceding-sibling::*"/>
</Letter>
<RootEle>
<RootEle>
<Letter>
<xsl:copy-of select="$a/following-sibling::*"/>
</Letter>
<RootEle>
</xsl:template>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Wilde Rebecca L SSgt HQ SSG/STS
[mailto:Rebecca(_dot_)Wilde(_at_)Gunter(_dot_)AF(_dot_)mil]
Sent: 31 January 2005 21:36
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Can you break one node tree into two?
Hello,
I'm trying to take some XML such as:
<RootEle xmlns="">
<Letter>
<From/>
<To/>
<Address/>
<Subject/>
<Body/>
</Letter>
</RootEle>
And I would like my XSLT to output:
<RootEle xmlns="">
<Letter>
<From/>
<To/>
<Address/>
</Letter>
</RootEle>
<RootEle xmlns="">
<Letter>
<Subject/>
<Body/>
</Letter>
</RootEle>
Basically I want to say as soon as I see the Address node I want to
break it out and everything above it into one node tree and everything
below it into a second node tree. The nodes could be anything, but if
an Address node is passed to me, I need to break the node
tree into two.
I am think I need to do something with the xsl:copy-of and the
xsl:for-each, but my xslt knowledge is very limited and attempting to
use this is not creating anything near what I had hoped for.
If it isn't possible to return two node trees (which I suspect it
isn't), how would I make it look like: <NewRoot>
<RootEle xmlns="">
<Letter>
<From/>
<To/>
<Address/>
</Letter>
</RootEle>
<RootEle xmlns="">
<Letter>
<Subject/>
<Body/>
</Letter>
</RootEle>
</NewRoot>
Thank you,
Becky
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--