xsl-list
[Top] [All Lists]

Re: Immediately preceding-sibling

2003-10-20 08:54:10
Mick,

The simplest XPath test to check whether the immediately preceding sibling is a 'nospace' is:

preceding-sibling::*[1][self::nospace]

which retrieves the nospace node (which evaluates to Boolean "true") if the immediately preceding node is a nospace; if not, it retrieves nothing (which evaluates to Boolean "false").

If you want to be *really* fancy:

substring(" _",1 + preceding-sibling::*[1][self::nospace], 1)

will give you a " " or a "_" depending on what the immediate preceding sibling is (since a Boolean false or true becomes the number 0 or 1 when you try to add it).

Cheers,
Wendell

At 10:59 AM 10/20/2003, you wrote:
What I want to do is to present the contents of the line; where a word
is *not* preceded by a <nospace/> tag, I want to put a space, where it
*is* preceded by a <nospace/> tag, I want to display an underscore.



======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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



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