title: XSLT group by value
body: <p>I have XML document</p>
  
  <pre><code>&lt;Contracts&gt;   
      &lt;Contract&gt;
          &lt;F1&gt;key1&lt;/F1&gt;
          &lt;F2&gt;2345&lt;/F2&gt;
          &lt;F3&gt;val&lt;/F3&gt;
          &lt;F4&gt;dal&lt;/F4&gt;
      &lt;/Contract&gt;
      &lt;Contract&gt;
          &lt;F1&gt;key1&lt;/F1&gt;
          &lt;F2&gt;34562&lt;/F2&gt;
          &lt;F3&gt;val&lt;/F3&gt;
          &lt;F4&gt;dal&lt;/F4&gt;
      &lt;/Contract&gt;
      &lt;Contract&gt;
          &lt;F1&gt;key2&lt;/F1&gt;
          &lt;F2&gt;416235&lt;/F2&gt;
          &lt;F3&gt;val&lt;/F3&gt;
          &lt;F4&gt;sal&lt;/F4&gt;
      &lt;/Contract&gt; 
      &lt;Contract&gt;
          &lt;F1&gt;key2&lt;/F1&gt;
          &lt;F2&gt;416235&lt;/F2&gt;
          &lt;F3&gt;val&lt;/F3&gt;
          &lt;F4&gt;sal&lt;/F4&gt;
      &lt;/Contract&gt; 
      &lt;Contract&gt;
          &lt;F1&gt;key2&lt;/F1&gt;
          &lt;F2&gt;41575&lt;/F2&gt;
          &lt;F3&gt;val&lt;/F3&gt;
          &lt;F4&gt;bal&lt;/F4&gt;
      &lt;/Contract&gt;
  &lt;/Contracts&gt;
  </code></pre>
  
  <p>I need group these contracts by <code>Contracts/Contract/F1</code> (key1, key2) to get this result:</p>
  
  <pre><code>&lt;Contracts&gt;
      &lt;Set&gt;
          &lt;Contract&gt;
              &lt;F1&gt;key1&lt;/F1&gt;
              &lt;F2&gt;2345&lt;/F2&gt;
              &lt;F3&gt;val&lt;/F3&gt;
              &lt;F4&gt;dal&lt;/F4&gt;
          &lt;/Contract&gt;
          &lt;Contract&gt;
              &lt;F1&gt;key1&lt;/F1&gt;
              &lt;F2&gt;34562&lt;/F2&gt;
              &lt;F3&gt;val&lt;/F3&gt;
              &lt;F4&gt;dal&lt;/F4&gt;
          &lt;/Contract&gt;
      &lt;Set&gt;
      &lt;Set&gt;
          &lt;Contract&gt;
              &lt;F1&gt;key2&lt;/F1&gt;
              &lt;F2&gt;416235&lt;/F2&gt;
              &lt;F3&gt;val&lt;/F3&gt;
              &lt;F4&gt;sal&lt;/F4&gt;
          &lt;/Contract&gt; 
          &lt;Contract&gt;
              &lt;F1&gt;key2&lt;/F1&gt;
              &lt;F2&gt;416235&lt;/F2&gt;
              &lt;F3&gt;val&lt;/F3&gt;
              &lt;F4&gt;sal&lt;/F4&gt;
          &lt;/Contract&gt; 
          &lt;Contract&gt;
              &lt;F1&gt;key2&lt;/F1&gt;
              &lt;F2&gt;416235&lt;/F2&gt;
              &lt;F3&gt;val&lt;/F3&gt;
              &lt;F4&gt;sal&lt;/F4&gt;
          &lt;/Contract&gt;
     &lt;/Set&gt;
  &lt;/Contracts&gt;
  </code></pre>
  
  <p>How can I do it with XSLT ?</p>