У меня есть следующий XML
<section>
<object>
<field name="First Source" />
<tableSection
propertyCount="1"
rowCount="1">
<tableProperty height="0"
width="570"
visible="true">
<property name="commit" />
</tableProperty>
<tableRow height="0"
width="0">
<tableCell value="Value First Source" />
</tableRow>
</tableSection>
</object>
<object>
<field name="Another Source" />
<tableSection
propertyCount="1"
rowCount="1">
<tableProperty height="0"
width="570"
visible="true">
<property name="commit" />
</tableProperty>
<tableRow height="0"
width="0">
<tableCell value="Invalid Value" />
</tableRow>
</tableSection>
</object>
</section>
, и у меня есть xslt следующим образом
<xsl:template match="tableRow">
<xsl:variable name="rowNodePosition">
<xsl:value-of select="position()"/>
</xsl:variable>
<tr allowDblCl="true" valign="top" height="50px">
<td>
<b>Row:</b>
<xsl:value-of select="$rowNodePosition"/>
<br/>
<xsl:for-each select="tableCell" >
<xsl:variable name="currPosition">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:if test="@value != ''">
<b>
<xsl:value-of select="../../tableProperty[position() = $currPosition]/property/@name"/>: </b>
<xsl:value-of select="@value"/>
<br/>
</xsl:if>
</xsl:for-each>
</td>
</tr>
<tr>
<td colspan="4" height="15px"> </td>
</tr>
</xsl:template>
Это получит все 'tablRow'.Но мне нужно исключить tableRows с полем name = 'Another Source', т.е. если у узла объекта есть 'field' с именем "Another Source", то исключить tableRow узла tableSection