[xsl] Selecting everything "before" and "after" a specific node

Subject: [xsl] Selecting everything "before" and "after" a specific node
From: Paul Harvey <paul_harv_2@xxxxxxxxx>
Date: Thu, 2 Apr 2009 04:07:02 -0700 (PDT)
Hi,
Ibve searched and posted on another list, but have not found an answer
to this problemb&
I have XML like this...

<A i=b1b>
B B B B B  <B
i=b2b>
B B B B B B B B B B B  <C i=b3b/>
B B B B B  </B>
B B B B B  <B
i=b4b>
B B B B B B B B B B B  <C i=b5b>
B B B B B B B B B B B B B B B B B  <D i=b6b/>
B B B B B B B B B B B B B B B B B  <D i=b7b>
B B B B B B B B B B B B B B B B B B B B B B B  <E i=b8b/>
B B B B B B B B B B B B B B B B B B B B B B B  <E i=b9b msg="get me out of
here!"/>
B B B B B B B B B B B B B B B B B B B B B B B  <E i=b10b/>
B B B B B B B B B B B B B B B B B  </D>
B B B B B B B B B B B B B B B B B  <D
i=b11b/>
B B B B B B B B B B B  </C>
B B B B B B B B B B B  <C
i=b12b/>
B B B B B  </B>
</A>
And I need to break it out into 3 nodesets,
delimited by the <E i=b9b msg="get me out of here!"/> such that Ibd end
up with...
<ROOT>
B B B B B B  <BEFORE>
B B B B B B  B <A i=b1b>
B B B B B  B B B B B  B B B B B  <B i=b2b>
B B B B B  B B B B B 
B B B B B B B B B B B  <C i=b3b/>
B B B B B  B B B B B  B B B B B  </B>
B B B B B  B B B B B  B B B B B  <B i=b4b>
B B B B B  B B B B B 
B B B B B B B B B B B  <C i=b5b>
B B B B B  B B B B B 
B B B B B B B B B B B B B B B B B  <D i=b6b/>
B B B B B  B B B B B 
B B B B B B B B B B B B B B B B B  <D i=b7b>
B B B B B 
B B B B B B B B B B B B B B B B B B B B B B B  B B B B B  <E i=b8b/>
B B B B B  B B B B B B B B B B B B B B B B B  B B B B B  </D>
B B B B B 
B B B B B B B B B B B  B B B B B  </C>>
B B B B B  B B B B B  B B B B B  </B>
B B B B B B  B </A>
B B B B B B  </BEFORE>
B B B B B B  <PULLED_OUT>
B B B B B  B B B B B  <E id=b9b msg="get me out of here!"/>
B B B B B B 
</PULLED_OUT>
B B B B B B  <AFTER>
B B B B B B  B <A i=b1b>
B B B B B 
B B B B B  B B B B B  <B i=b4b>
B B B B B  B B B B B B B B B B B 
B B B B B  <C i=b5b>
B B B B B  B B B B B B B B B B B B B B B B B 
B B B B B  <D i=b7b>
B B B B B 
B B B B B B B B B B B B B B B B B B B B B B B  B B B B B  <E i=b10b/>
B B B B B  B B B B B  B B B B B B B B B B B B B B B B B  </D>
B B B B B 
B B B B B  B B B B B  B B B B B B B B B B B  <D i=b11b/>
B B B B B 
B B B B B B B B B B B  B B B B B  </C>
B B B B B  B B B B B 
B B B B B B B B B B B  <C i=b12b/>
B B B B B  B B B B B  B B B B B  </B>
B B B B B B  B </A>
B B B B B B  </AFTER>
</ROOT>

Any suggestions as to how
Ibd go about that?
I've spent some time with preceding and following axis,
and some other conditions, but this has not got me where I need to get as yet.
Thanks so much,

Paul

Current Thread