title: XSLT: Concat series of ranges, if they are contiguous
body: <p>I have a series of integer ranges:</p>
  
  <pre><code>&lt;ranges&gt;
      &lt;range&gt;
          &lt;start&gt;1&lt;/start&gt;
          &lt;end&gt;10&lt;/end&gt;
      &lt;/range&gt;
      &lt;range&gt;
          &lt;start&gt;11&lt;/start&gt;
          &lt;end&gt;55&lt;/end&gt;
      &lt;/range&gt;
      &lt;range&gt;
          &lt;start&gt;56&lt;/start&gt;
          &lt;end&gt;60&lt;/end&gt;
      &lt;/range&gt;
      &lt;range&gt;
          &lt;start&gt;65&lt;/start&gt;
          &lt;end&gt;70&lt;/end&gt;
      &lt;/range&gt;
  &lt;/ranges&gt;
  </code></pre>
  
  <p>And I want to compress the ranges when they are contiguous. For the above XML, the output I am looking for is:</p>
  
  <pre><code>&lt;ranges&gt;
      &lt;range&gt;
          &lt;start&gt;1&lt;/start&gt;
          &lt;end&gt;60&lt;/end&gt;
  &lt;/range&gt;
      &lt;range&gt;
          &lt;start&gt;65&lt;/start&gt;
          &lt;end&gt;70&lt;/end&gt;
      &lt;/range&gt;
  </code></pre>
  
  <p></p>
  
  <p>Is this at all possible with XSLT?</p>