title: Creating alphabetical index with fixed number of columns in XSLT 2.0
body: <p>I have an XML like this: </p>
  
  <pre><code>&lt;xml version="1.0" encoding="UTF-8"?&gt;
  &lt;countries&gt;
      &lt;country&gt;
         &lt;name&gt;Latvia&lt;/name&gt;   
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;USA&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Australia&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Indonesia&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;UK&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;India&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Argentina&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Chile&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Singapore&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;New Zeland&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Kenya&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Zambia&lt;/name&gt;
      &lt;/country&gt;
      &lt;country&gt;
         &lt;name&gt;Tunisia&lt;/name&gt;
      &lt;/country&gt;
  &lt;/countries&gt;
  </code></pre>
  
  <p>Now I want to create alphabetical index of countries in 3 columns. Each column will contain the number of alpha as one third of the starting alphabets present and its corresponding countries. </p>
  
  <p>Last column can have the rest of them if number of starting alphabets present happens to be not divisible by 3.</p>
  
  <p>For example, here we have country names starting with L, C, U, A, I, S, N, K, Z and T.</p>
  
  <p>After arranging: A C I K L N S T U Z</p>
  
  <p>Now, my index will have: </p>
  
  <pre><code>         Column1: A, C and I countries
  
           Column2: K, L and N countries
  
           Column3: S, T, U and Z countries
  </code></pre>
  
  <p>Hence the desired output is: </p>
  
  <pre><code>&lt;countries&gt;
    &lt;column1&gt; 
       &lt;A&gt;
          &lt;country&gt;
             &lt;name&gt;Argentina&lt;/name&gt;
          &lt;/country&gt;
          &lt;country&gt;
            &lt;name&gt;Australia&lt;/name&gt;
          &lt;/country&gt;
       &lt;/A&gt;
       &lt;C&gt;
          &lt;country&gt;
             &lt;name&gt;Chile&lt;/name&gt;
          &lt;/country&gt;
       &lt;/C&gt;
       &lt;I&gt;
          &lt;country&gt;
             &lt;name&gt;India&lt;/name&gt;
          &lt;/country&gt;
          &lt;country&gt;
            &lt;name&gt;Indonesia&lt;/name&gt;
          &lt;/country&gt;
       &lt;/I&gt;   
    &lt;/column1&gt;
  
    &lt;column2&gt; 
       &lt;K&gt;
          &lt;country&gt;
             &lt;name&gt;Kenya&lt;/name&gt;
          &lt;/country&gt;      
       &lt;/K&gt;
       &lt;L&gt;
          &lt;country&gt;
             &lt;name&gt;Latvia&lt;/name&gt;
          &lt;/country&gt;
  
       &lt;/L&gt;
       &lt;N&gt;
          &lt;country&gt;
             &lt;name&gt;New Zeland&lt;/name&gt;
          &lt;/country&gt;
       &lt;/N&gt;   
    &lt;/column2&gt;
  
    &lt;column3&gt; 
       &lt;S&gt;
          &lt;country&gt;
             &lt;name&gt;Singapore&lt;/name&gt;
          &lt;/country&gt;      
       &lt;/S&gt;
       &lt;T&gt;
          &lt;country&gt;
             &lt;name&gt;Tunisia&lt;/name&gt;
          &lt;/country&gt;
  
       &lt;/T&gt;
       &lt;U&gt;
          &lt;country&gt;
             &lt;name&gt;UK&lt;/name&gt;
          &lt;/country&gt;
          &lt;country&gt;
             &lt;name&gt;USA&lt;/name&gt;
          &lt;/country&gt;
       &lt;/U&gt;   
       &lt;Z&gt;
          &lt;country&gt;
             &lt;name&gt;Zambia&lt;/name&gt;
          &lt;/country&gt;
       &lt;/Z&gt;   
    &lt;/column3&gt;
  &lt;/countries&gt;
  </code></pre>
  
  <p>Please help. I am using xslt 2.0.</p>