xsl-list
[Top] [All Lists]

Re: [xsl] Finding the closest preceding element within the containing block

2012-05-18 14:49:40
This helped me alot when I was learning xpath.

http://zvon.org/xxl/XPathTutorial/General/examples.html



On Fri, May 18, 2012 at 8:34 PM,  <mlcook(_at_)wabtec(_dot_)com> wrote:
Assume a document structure like the one below.

The "c" and "d" elements are at the same level inside of "b" which is inside 
of "a".

Currently, I can find the first "c" in the "b" that encloses "d".

But that is too far away.

I want to find the closest preceding "c" within the surrounding "b" when 
processing the template for element "d".

When executing the template for "d", my current path attempt is
(ancestor::a[1]//c)[1]

But, if there is no preceding "c" in the "b" element, I'd like to detect 
that, and not find a "c" in any other "b".

If I use just "preceding::c", I might find a "c" in some other "b", which I 
don't want.

Thanks for any suggestions.

--Mike


<a>
  ...
  other elements
  ...
</a>
<a>
  ...
  other elements
  ...
</a>
<a>
  <b>
  ...
  </b>
  ...
  <b>
     ...
     <c/>   <---- My path gets this "c"
     ...
     <c/>
     ...
     <c/>   <---- I want this "c" when processing "d"
     ...
     <d/>
     ...
     <c/>
     ...
  </b>
  ...
  <b>
  ...
  </b>
</a>
<a>
  ...
  other elements
  ...
</a>
...


This email and any attachments are only for use by the intended recipient(s) 
and may contain legally privileged, confidential, proprietary or otherwise 
private information.  Any unauthorized use, reproduction, dissemination, 
distribution or other disclosure of the contents of this e-mail or its 
attachments is strictly prohibited.  If you have received this email in 
error, please notify the sender immediately and delete the original.



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