title: Generate a sequential line no. or counter in XSLT 2.0
body: <p>My sample input XML is something like below. I need to generate a <code>llNo</code> element sequentially while grouping up the elements based on the <code>code</code> element value?</p>
  
  <pre><code>&lt;voucher&gt;
  &lt;ID&gt;1234&lt;/ID&gt;
  &lt;Type&gt;Voucher&lt;/Type&gt;
  &lt;Flag&gt;true&lt;/Flag&gt;
  &lt;Accounts&gt;
      &lt;AccId&gt;89&lt;/AccId&gt;
      &lt;AccCd1&gt;a11&lt;/AccCd1&gt;        
      &lt;category&gt;
          &lt;catId&gt;ct11&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;abcd&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct12&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;cvbn&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct13&lt;/catId&gt;
          &lt;code&gt;CB&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct14&lt;/catId&gt;
          &lt;code&gt;TV&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
  &lt;/Accounts&gt;
  &lt;Accounts&gt;
      &lt;AccId&gt;89&lt;/AccId&gt;
      &lt;AccCd1&gt;a11&lt;/AccCd1&gt;        
      &lt;category&gt;
          &lt;catId&gt;ct15&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;abcd&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct16&lt;/catId&gt;
          &lt;code&gt;CB&lt;/code&gt;
          &lt;Details&gt;cvbn&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct17&lt;/catId&gt;
          &lt;code&gt;CB&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
      &lt;category&gt;
          &lt;catId&gt;ct18&lt;/catId&gt;
          &lt;code&gt;TV&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;
  
      &lt;/category&gt;
  &lt;/Accounts&gt;
  &lt;/voucher&gt;
  </code></pre>
  
  <p>Output XML should be in the following format</p>
  
  <pre><code>&lt;Voucher&gt;
  &lt;ID&gt;1234&lt;/ID&gt;
  &lt;Type&gt;Voucher&lt;/Type&gt;
  &lt;Flag&gt;true&lt;/Flag&gt;
  &lt;Accounts1&gt;
      &lt;AccId&gt;89&lt;/AccId&gt;
      &lt;AccCd1&gt;a11&lt;/AccCd1&gt;    
      &lt;category&gt;
          &lt;llNo&gt;1&lt;/llNo&gt;
          &lt;catId&gt;ct11&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;abcd&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;llNo&gt;2&lt;/llNo&gt;
          &lt;catId&gt;ct12&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;cvbn&lt;/Details&gt;         
      &lt;/category&gt;
      &lt;category&gt;
          &lt;llNo&gt;3&lt;/llNo&gt;
          &lt;catId&gt;ct15&lt;/catId&gt;
          &lt;code&gt;IB&lt;/code&gt;
          &lt;Details&gt;abcd&lt;/Details&gt;         
      &lt;/category&gt;
  &lt;/Accounts1&gt;
  &lt;Accounts2&gt;
      &lt;AccId&gt;89&lt;/AccId&gt;
      &lt;AccCd1&gt;a11&lt;/AccCd1&gt;
      &lt;category&gt;
          &lt;llNo&gt;4&lt;/llNo&gt;
          &lt;catId&gt;ct13&lt;/catId&gt;
          &lt;code&gt;CB&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
      &lt;category&gt;
          &lt;llNo&gt;5&lt;/llNo&gt;
          &lt;catId&gt;ct17&lt;/catId&gt;
          &lt;code&gt;CB&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
  &lt;Accounts2&gt;
  &lt;Accounts3&gt;
      &lt;AccId&gt;89&lt;/AccId&gt;
      &lt;AccCd1&gt;a11&lt;/AccCd1&gt;
      &lt;category&gt;
          &lt;llNo&gt;6&lt;/llNo&gt;
          &lt;catId&gt;ct14&lt;/catId&gt;
          &lt;code&gt;TV&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;            
      &lt;/category&gt;
      &lt;category&gt;
          &lt;llNo&gt;7&lt;/llNo&gt;
          &lt;catId&gt;ct18&lt;/catId&gt;
          &lt;code&gt;TV&lt;/code&gt;
          &lt;Details&gt;asdfg&lt;/Details&gt;
  
      &lt;/category&gt;
  &lt;Accounts3&gt;
  &lt;/Voucher&gt;
  </code></pre>