Subject: Re: [xsl] Checking a parent's attribute|
From: Nicholas Orr <nick@xxxxxxxxxxx>
Date: Wed, 7 Feb 2007 20:03:59 +1100
<xsl:for-each select="ExportEntries"> <xsl:if test="../Restore/@state = 'True'"> <xsl:for-each select="ExportEntry/Field">
This works as I want, but to me it doesn't seem to be the best way. Is there a better way to do that kind of check? I want to restrict it to the "ExportEntries" node first, as there are only a limited number of times that that node will exist, and the "Restore state" node is often there for other things, so I think I'm being more efficient doing it this way. Am I doing this right?
You use a predicate to achieve this:
<xsl:for-each select="ExportEntries[../Restore/@state='True']/ ExportEntry/Field"> ... </xsl:for-each>
I hope this helps.