
Untitled
By: a guest on
Jul 31st, 2012 | syntax:
None | size: 1.20 KB | hits: 14 | expires: Never
Select all elements that does not exist in another node with XSLT
<root>
<users>
<array>
<name>John</name>
<age>30</age>
</array>
<array>
<name>Joe</name>
<age>30</age>
</array>
<array>
<name>Lou</name>
<age>30</age>
</array>
</users>
<selected_users>
<name>Joe</name>
<age>30</age>
</selected_users>
</root>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="text"/>
<xsl:template match="users/array/name[not(.=/*/selected_users/name)]">
<xsl:value-of select="concat(., ' ')"/>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
<root>
<users>
<array>
<name>John</name>
<age>30</age>
</array>
<array>
<name>Joe</name>
<age>30</age>
</array>
<array>
<name>Lou</name>
<age>30</age>
</array>
</users>
<selected_users>
<name>Joe</name>
<age>30</age>
</selected_users>
</root>
John Lou
<xsl:variable name="vSomeName" select=
"/*/users/array/name[not(.=/*/selected_users/name)]"/>