This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Andrew Welch wrote:
 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().

No, that would be

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

What you have,
preceding-sibling::node()[normalize-space()][1][self::comment()]

selects the first non-whitespace-text node if it is a comment.

Sure.  But aren't they both the same (they select the same node)? The
only difference would be the size of the lists the predicates create?
(feel free to point out the correct terminology here)
Definitely no.

<root>
<!-- test -->
<test1>test</test1>
<test2>test</test2>
<!-- test -->
<test3>test</test3>
<test4>test</test4>
</root>

with context test4:

preceding-sibling::node() gets all other test elements and the comments and the whitespace only text nodes.

preceding-sibling::node()[normalize-space()] gets all other test elements and the comments.

preceding-sibling::node()[normalize-space()][1] gets test3.

preceding-sibling::node()[normalize-space()][1][self::comment()] gets nothing, because test3 isn't a comment.

preceding-sibling::node()[normalize-space()][self::comment()] gets all comments.

preceding-sibling::node()[normalize-space()][self::comment()][1] gets the comment infront of test3.

But the original poster asked for immediately preceding comments. So only
preceding-sibling::node()[normalize-space()][1][self::comment()] is correct - with the danger of empty elements.

Regards,

Joerg

--

System Development
VIRBUS AG
Fon +49(0)341-979-7419
Fax +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de

VIRBUS hat jetzt als erster deutscher Softwarehersteller die Zertifizierung für den 3D Secure-Authentifizierungsstandard "Verified by Visa" erhalten. Details unter http://www.virbus.de/de/press/pressemitteilung/20020828_verified_by_VISA.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]