user898465
user898465

Reputation: 944

XSL check multiple nodes exist with for-each

If I have multiple nodes in an xsl document and want to check that they all have a child node that exists, how would you do that with a for-each loop in XSL 2?

<A>
 <B>
  <C>test</C>
</B>
 <B>
  <C>test</C>
 </B>
</A>

For example in the document above, we want to iterate through all B Nodes in the document and ascertain if C exists with the value 'test' for that B node.

Upvotes: 0

Views: 1590

Answers (1)

Mark Veenstra
Mark Veenstra

Reputation: 4739

"we want to iterate through all B Nodes in the document and ascertain if C exists with the value 'test' for that B node"

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="/">
        <xsl:for-each select="A/B[C='test']">
            <!-- Rest of XSLT -->
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

You can add 'tests'/predicates using [].

Upvotes: 1

Related Questions