not function evaluates a boolean expression and returns the opposite value.
The expression is evaluated exactly as if it were passed as an argument to the boolean() function.
True for an expression that evaluates to false; false for an expression that evaluates to true.
- This function should behave similarly to the boolean() function except that it returns the opposite value.
- You can test if an element doesn't have some attribute.
<xsl:for-each match="//a[not(@name and @name = 'badname')]"> <!-- iterates over any <a> element in the document, that either has no 'name' attribute at all, or it has one, but its value is not "badname". --> </xsl:template>