I have a xml drafted as follows
<node1>
  <node2>
    <node3>
      val3
    </node3>
    <node4>
      val4
    </node4>
    <node5>
     val5
    </node5>
    <node6>
      val6
    </node6>
  </node2>
</node1>
I m using xslt to loop over <node2>
now I want to include values only for <node4> and <node5> in the results.
What Im doing is 
<xsl:for-each select="/node1/node2[.= node4 or .= node5]/*>
  <newNode>
    value of selected nodes
  </newNode>
</xsl:for-each>
have also tried
<xsl:for-each select="/node1/node2[name() = node4 or name() = node5]/*>
      <newNode>
        value of selected nodes
      </newNode>
    </xsl:for-each>
and
<xsl:for-each select="/node1/node2[.name()= node4 or .name()= node5]/*>
      <newNode>
        value of selected nodes
      </newNode>
    </xsl:for-each>
but I m getting values of all the 4 nodes i.e node3, node4, node5 and node6
can any one please put me in the right direction?