title: XSLT copy child node value to parent based on condition in parent and child
body: <p>if <code>Orderitem</code>-><code>name</code> is 'Desktop' then copy the <code>price</code> from the <code>value</code> in <code>listofspareparts</code> where <code>name</code> is 'spare2' in <code>spareparts1</code>.</p>
  
  <p>Input:</p>
  
  <pre><code>&lt;listoforders&gt;
      &lt;Orderitem&gt;
          &lt;name&gt;Desktop&lt;/name&gt;
          &lt;place&gt;NZ&lt;/place&gt;
          &lt;price&gt;120&lt;/price&gt;
          &lt;listofspareparts&gt;
              &lt;spareparts1&gt;
                  &lt;name&gt;spare1&lt;/name&gt;
                  &lt;value&gt;140&lt;/value&gt;
              &lt;/spareparts1&gt;
              &lt;spareparts1&gt;
                  &lt;name&gt;spare2&lt;/name&gt;
                  &lt;value&gt;130&lt;/value&gt;
              &lt;/spareparts1&gt;            
          &lt;/listofspareparts&gt;
      &lt;/orderitem&gt;
  &lt;/listoforders&gt;
  </code></pre>
  
  <p>Output should be:</p>
  
  <pre><code>&lt;listoforders&gt;
      &lt;Orderitem&gt;
          &lt;name&gt;Desktop&lt;/name&gt;
          &lt;place&gt;NZ&lt;/place&gt;
          &lt;price&gt;130&lt;/price&gt;
          &lt;listofspareparts&gt;
              &lt;spareparts1&gt;
                  &lt;name&gt;spare1&lt;/name&gt;
                  &lt;value&gt;140&lt;/value&gt;
              &lt;/spareparts1&gt;
              &lt;spareparts1&gt;
                  &lt;name&gt;spare2&lt;/name&gt;
                  &lt;value&gt;130&lt;/value&gt;
              &lt;/spareparts1&gt;                
          &lt;/listofspareparts&gt;
      &lt;/orderitem&gt;
  &lt;/listoforders&gt;
  </code></pre>
  
  <p>XSLT-1.0: </p>
  
  <pre><code>&lt;xsl:stylesheet version="1.0" xmlns:xsl="w3.org/1999/XSL/Transform"&gt; 
      &lt;xsl:output omit-xml-declaration="yes" indent="yes"/&gt;    
      &lt;xsl:strip-space elements=""/&gt;
  
      &lt;xsl:template match="node()|@"&gt;         
          &lt;xsl:copy&gt;             
              &lt;xsl:apply-templates select="node()|@*"/&gt;
  
          &lt;/xsl:copy&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="price[../Orderitem[name='Desktop']"&gt; 
          &lt;xsl:copy-of select="value[../../listofspareparts/spareparts1[name='spare‌​2']]" /&gt;
      &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>Please let me know what I am missing here.</p>