xsl-list
[Top] [All Lists]

AW: Finding immediately preceding node.

2003-06-02 10:17:34
Hi Betty,

your test is wrong. "Inside" b, i.e. in a template for c, try:
<xsl:if test="parent::b[(_at_)name='cde']/preceding-sibling::b[1]/@name='abc'">

The expression //c/../b[(_at_)name='cde']/preceding-sibling::b[1]/@name='abc'
is true, because your XML is maybe not what you wanted: The first
c element is not inside the first b element, which is empty.
Thus, //c/.. takes you to the a element and all but the first b elements.
From the a element, the part /b[(_at_)name=(_dot_)(_dot_)(_dot_)] takes you to 
the 4th b...

Regards,
Markus

__________________________
Markus Abt
Comet Computer GmbH
Rueckertstrasse 5
80336 Muenchen
GERMANY
Phone +49 89 5445 6045
Fax +49 89 5445 6046
http://www.comet.de
mailto:abt(_at_)comet(_dot_)de



----------
Von:    Betty Harvey
Gesendet:       Montag, 2. Juni 2003 15:56
An:     xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Betreff:        [xsl] Finding immediately preceding node.


I have been struggling with this problem and I can't seem to
get the XPath to work.  I have looked through the archive and
can't seem to find the answer.

I want to get the a true when I am inside <b name="cde"> and
the preceding <b> contains the attribute 'name="abc"'.  

<?xml version="1.0"?>
<a>
  <b name="abc"/>
     <c/>
  <b>
     <c/>
  </b>
  <b name="abc">
     <c/>
  </b>
  <b name="cde">
    <c/>
  </b>
  <b>
     <c/>
  </b>
  <b>
     <c/>
  </b>
  <b name="abc">
     <c/>
  </b>
</a>

The following XPath gives a value of true in 'XPathTester':

//c/../b[(_at_)name='cde']/preceding-sibling::b[1]/@name='abc'

I have the following in my xslt but never get a 'true':

<xsl:if test="../b[(_at_)name='cde']/preceding-sibling::b[1]/@name='abc'">

Thanks!

Betty

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Betty Harvey                         | Phone: 410-787-9200 FAX: 9830 
Electronic Commerce Connection, Inc. |        
harvey(_at_)eccnet(_dot_)com                    | Washington,DC XML Users Grp
URL:  http://www.eccnet.com          | http://www.eccnet.com/xmlug
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\/\/  


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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