[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: get immediat preceeding node, if it is a comment

Subject: RE: get immediat preceeding node, if it is a comment
From: "Andrew Welch" <awelch@xxxxxxxxxxxxxxx>
Date: Fri, 4 Oct 2002 11:31:00 +0100
self comment xsl
Or, I suppose, you could include what weve been seeing on the other
thread and use normalize-space() to bypass whitespace-only nodes:

<xsl:if
test="preceding-sibling::node()[normalize-space()][1][self::comment()]">
  ...
</xsl:if>

This way you dont need to use xsl:strip-space.

Notice how the positional predicate follows the normalize-space()
predicate.  Im not too sure about this, maybe someone can confirm what I
say here:

preceding-sibling::node()[1][normalize-space()][self::comment()]

This will select the immediately preceding-node, should that return true
for normalize-space() and self::comment().

preceding-sibling::node()[normalize-space()][1][self::comment()]

This will select the first in a list of nodes that return true for
normalize-space() and self::comment().

So the former will only ever test the immediately preceding node, while
the latter will test all preceding-siblings because the positional
predicate isn't the first.


cheers
andrew



> -----Original Message-----
> From: Andrew Welch 
> Sent: 04 October 2002 11:01
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  get immediat preceeding node, if it is a comment
> 
> 
> 
> > - how to get the immediat preceeding node, when you don't 
> > know what it will 
> > be (element, comments, and for extension PIs, text())
> 
>  preceding-sibling::node()[1]
> 
> > - how can I filter comments from it
> 
> <xsl:if test="preceding-sibling::node()[1][self::comment()]">
>   ....
> </xsl:if>
> 
> Don't forget though that most likely the immediate preceding element
> will be some presentational whitespace, so you will need to strip that
> out using:
> 
> <xsl:strip-space elements="*"/>
> 
> or a more specific selection in place of * (unless of course, you are
> using msxml which strips it all out regardless).
> 
> cheers
> andrew
> 
> 
> > -----Original Message-----
> > From: Paul Terray [mailto:terray@xxxxxxxxxxxx]
> > Sent: 04 October 2002 10:23
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject:  get immediat preceeding node, if it is a comment
> > 
> > 
> > Hello,
> > 
> > I have a little problem, which I am unable to find the 
> > solution because I 
> > must think to devious...
> > 
> > I have a XML with some comments on the nodes, just before, 
> > that I want to get.
> > 
> > My problem is : there are not always there, so I cannot just use 
> > "preceding-sibling::comment()[1]".
> > 
> > Therefore, 2 questions :
> > - how to get the immediat preceeding node, when you don't 
> > know what it will 
> > be (element, comments, and for extension PIs, text())
> > - how can I filter comments from it
> > 
> > Thanks in advance.
> > 
> > --
> > Paul TERRAY - Ingénieur Systèmes Documentaires
> > 4Dconcept
> > Centre d'affaires - 22, rue Etienne de Jouy
> > 78353 Jouy en Josas CEDEX
> > Tel. 01 34 58 70 70 - Fax. 01 39 46 06 90
> > email : terray@xxxxxxxxxxxx 
> > 
> > 
> >  XSL-List info and archive:  
http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.394 / Virus Database: 224 - Release Date: 03/10/2002
>  
> 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.394 / Virus Database: 224 - Release Date: 03/10/2002
 

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



---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.394 / Virus Database: 224 - Release Date: 03/10/2002
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.394 / Virus Database: 224 - Release Date: 03/10/2002
 

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.