RE: [xsl] Selecting a node based on two sub-element values

Subject: RE: [xsl] Selecting a node based on two sub-element values
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 15 Feb 2005 09:11:40 -0000
> <xsl:if test="*[1]/VALUE/text() = 'AA' 

It's rarely a good idea to use /text() in this kind of comparison: better to
compare the value of the element itself:

test="*[1]/VALUE = 'AA'

(a) this is simpler

(b) it works even if the element contains comments and processing
instructions

(d) it works on systems that don't always concatenate text nodes (in theory,
adjacent text nodes should always be concatenated, but there are cases where
this doesn't happen: for example if you present Saxon with an unnormalized
DOM as input (not something I recommend) then you might see adjacent text
nodes in the XPath view.)

(c) it might even continue to work when someone extends the schema to allow
nested elements within VALUE.

Michael Kay
http://www.saxonica.com/

Current Thread