title: XSLT conditions matching with list stored in external file
body: <p>I am trying to write a XSLT which extracts items matches the conditions listed in another file.</p>
  
  <p>INPUT FILE (input.xml)</p>
  
  <pre><code>&lt;ItemList&gt;
     &lt;Item&gt;
        &lt;Product&gt;ABC&lt;/Product&gt;
        &lt;Price&gt;10.00&lt;/Price&gt;
     &lt;/Item&gt;
     &lt;Item&gt;
        &lt;Product&gt;DEF&lt;/Product&gt;
        &lt;Price&gt;20.00&lt;/Price&gt;
     &lt;/Item&gt;
     &lt;Item&gt;
        &lt;Product&gt;GHI&lt;/Product&gt;
        &lt;Price&gt;30.00&lt;/Price&gt;
     &lt;/Item&gt;
     &lt;Item&gt;
        &lt;Product&gt;JKL&lt;/Product&gt;
        &lt;Price&gt;40.00&lt;/Price&gt;
     &lt;/Item&gt;
  &lt;/ItemList&gt;
  </code></pre>
  
  <p>External List File (Codes.xml)</p>
  
  <pre><code>&lt;ProductCodeList&gt;
     &lt;ProductCode&gt;ABC&lt;/ProductCode&gt;
     &lt;ProductCode&gt;JKL&lt;/ProductCode&gt;
  &lt;/ProductCodeList&gt;
  </code></pre>
  
  <p>Expected Output (output.xml)</p>
  
  <pre><code>&lt;ItemList&gt;
     &lt;Item&gt;
        &lt;Product&gt;ABC&lt;/Product&gt;
        &lt;Price&gt;10.00&lt;/Price&gt;
     &lt;/Item&gt;
     &lt;Item&gt;
        &lt;Product&gt;JKL&lt;/Product&gt;
        &lt;Price&gt;40.00&lt;/Price&gt;
     &lt;/Item&gt;
  &lt;/ItemList&gt;
  </code></pre>
  
  <p>Could you please show me which one is not working?</p>
  
  <pre><code>&lt;xsl:variable name="productCodeList" select="document('Codes.xml')/ProductCodeList/ProductCode" /&gt;`
  
  &lt;xsl:template match="/"&gt;
    &lt;xsl:apply-templates select="/ItemList/Item[Product=$productCodeList]"/&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="/ItemList/Item"&gt;
    &lt;xsl:copy-of select="."/&gt;
  &lt;/xsl:template&gt;
  </code></pre>