xsl-list
[Top] [All Lists]

Re: Testing for a following sibling node type that occurs a t a varied position

2004-06-29 16:18:06
Wright, Steve wrote:

Hi Michael,
Thanks for your suggestion. I tried implementing it, but since I am actually
operating from w/in a for-each loop of the 'B' node, I need to test for the
following 'A' node from the last 'B' node in each sequence somehow, and I
didn't have any luck using the preceding-sibling function.
Any other ideas?



root/A/preceding-sibling::B[1]/following-sibling::A[1]

This will output duplicates A's if there are multiple A's after a particular B... Are there multiple A's after a particular B? There aren't in the sample doc.

Brian

Thanks again,
Steve

-----Original Message-----
From: Michael Kay [mailto:mhk(_at_)mhk(_dot_)me(_dot_)uk] Sent: Tuesday, June 29, 2004 3:54 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Testing for a following sibling node type that occurs at
a varied position

Starting with <root> as the context node, you can select the marked B nodes
using

A/preceding-sibling::B[1]

Michael Kay
-----Original Message-----
From: Wright, Steve [mailto:Steve(_dot_)Wright(_at_)aw(_dot_)com] Sent: 29 June 2004 23:40 To: XSL-List(_at_)lists(_dot_) mulberrytech. com (XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com) Subject: [xsl] Testing for a following sibling node type that occurs at a varied position

I wasn't sure on how else to phrase the subject, but here is what I need
help in figuring out:



I need to detect when a specific sibling node follows the context node in the document order, the catch is that it is not always located the same number of positions after the context node, if it were, something like this would work:
--------------------------------------------------------------

following-sibling::node()[1][self::A]

--------------------------------------------------------------



Here is an XML example to illustrate my situation:

--------------------------------------------

<root>

           <A>text</A>

           <B>text</B>

           <B>text</B>

<B>text</B> (indicate this node based on following sibling 'A')

           <C>text</C>

           <C>text</C>

           <C>text</C>

<A>text</A>
           <B>text</B>

           <B>text</B>

           <B>text</B>

<B>text</B> (indicate this node based on following sibling 'A')

           <D>text</D>

           <D>text</D>

           <A>text</A>

           <B>text</B>

<B>text</B> (indicate this node based on following sibling 'A')

           <C>text</C>

           <A>text</A>

           <B>text</B>

           <B>text</B>

           <B>text</B>

<B>text</B> (indicate this node based on following sibling 'A')

           <C>text</C>

           <D>text</D>

           <D>text</D>

           <D>text</D>

           <C>text</C>

           <A>text</A>

</root>

--------------------------------------------



I want to implement a feature that corresponds w/ the last 'B' node that
occurs before the next 'A' node.



Thanks in advance for any help.



Steve









**************************************************************
**************
This email may contain confidential material.
If you were not an intended recipient, please notify the sender and delete all copies.
We may monitor email to and from our network.

**************************************************************
**************



--+------------------------------------------------------------------
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>
--+--


****************************************************************************
This email may contain confidential material.
If you were not an intended recipient, please notify the sender and delete all copies.
We may monitor email to and from our network.

****************************************************************************



--+------------------------------------------------------------------
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>
--+--



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