xsl-list
[Top] [All Lists]

Re: easy one

2004-10-22 14:08:56
Gary Hegenbart writes:
I'm not an expert, but you need to check to see if the node name
starts with ERR. Assuming you are working in the 'user' node, you can
try this:

<xsl:if test="count(./*[starts-with(name(), 'ERR')])&gt;0">
  <!-- do something for an error node -->
</xsl:if>

It counts all child nodes whose name starts with ERR, the tests if the
count is greater than

Yes, but you don't need to count them.  The set of nodes that satisfy
the condition is automatically converted to a boolean value; only an
empty set is considered to be false:

<xsl:if test="./*[starts-with(name(), 'ERR')]">
  <!-- do something for a node with errors -->
</xsl:if>

http://www.w3.org/TR/xslt#section-Conditional-Processing-with-xsl:if
http://www.w3.org/TR/xpath#function-boolean

I'm not an expert either, so here's my followup question: what is the
point of specifying "./" in the above expression?

-- 
Kevin Rodgers



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