|
Subject: Re: [xsl] Sibling text nodes From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Tue, 16 Jul 2002 16:54:20 +0100 |
Hi John,
> Given an XML fragment like:
>
> <outer><inner>blah</inner> following text.</outer>
>
> Before I can finish processing the "inner" element, I need to
> examine the next sibling node (following-sibling::*[1]?) to
> determine if it is a text node whose contents begin with a
> non-whitespace character.
You're close. following-sibling::*[1] gets the next sibling *element*.
You want to get the next sibling node:
following-sibling::node()[1]
then test whether it's a text node:
following-sibling::node()[1][self::text()]
Having found it, you can then test whether it starts with a whitespace
character:
contains(' 	

',
substring(following-sibling::node()[1][self::text()], 1, 1))
This test will return true if the next sibling node is a text node
that starts with a whitespace character, and false if there isn't a
following sibling node, it's not a text node, or if it doesn't start
with a whitespace character.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Sibling text nodes, John R. Daily | Thread | Re: [xsl] Sibling text nodes, David Carlisle |
| [xsl] Sibling text nodes, John R. Daily | Date | Re: [xsl] Sibling text nodes, David Carlisle |
| Month |