title: XSL Sort for XML
body: <p>Please find the input and output xml files. The XML is sorted on "Code" node ( sorted on CodeValue).</p>
  
  <p>INPUT XML</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Service&gt;
      &lt;Account&gt;
          &lt;AccountNumber&gt;AB1234&lt;/AccountNumber&gt;       
          &lt;Code&gt;
              &lt;CodeType&gt;ABC&lt;/CodeType&gt;
              &lt;CodeValue&gt;3456&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Code&gt;
              &lt;CodeType&gt;ZCR&lt;/CodeType&gt;
              &lt;CodeValue&gt;1234&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;INCR&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;1004&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;BNP&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;1326&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;AccountOption&gt;
              &lt;AccountOptionNumber&gt;1&lt;/AccountOptionNumber&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;HSBC&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;UK&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;BARCLAYS&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;US&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
          &lt;/AccountOption&gt;
      &lt;/Account&gt;    
      &lt;Account&gt;
          &lt;AccountNumber&gt;AC7658&lt;/AccountNumber&gt;       
          &lt;Code&gt;
              &lt;CodeType&gt;HGV&lt;/CodeType&gt;
              &lt;CodeValue&gt;6780&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Code&gt;
              &lt;CodeType&gt;MNR&lt;/CodeType&gt;
              &lt;CodeValue&gt;67&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;BNP&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;5678&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;INCR&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;7804&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;AccountOption&gt;
              &lt;AccountOptionNumber&gt;9&lt;/AccountOptionNumber&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;NAT&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;US&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;LKM&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;GB&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
          &lt;/AccountOption&gt;
      &lt;/Account&gt;    
  &lt;/Service&gt;
  </code></pre>
  
  <p>OUTPUT XML:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;Service&gt;
      &lt;Account&gt;
          &lt;AccountNumber&gt;AB1234&lt;/AccountNumber&gt;       
          &lt;Code&gt;
              &lt;CodeType&gt;ZCR&lt;/CodeType&gt;
              &lt;CodeValue&gt;1234&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Code&gt;
              &lt;CodeType&gt;ABC&lt;/CodeType&gt;
              &lt;CodeValue&gt;3456&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;INCR&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;1004&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;BNP&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;1326&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;AccountOption&gt;
              &lt;AccountOptionNumber&gt;1&lt;/AccountOptionNumber&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;HSBC&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;UK&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;BARCLAYS&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;US&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
          &lt;/AccountOption&gt;
      &lt;/Account&gt;    
      &lt;Account&gt;
          &lt;AccountNumber&gt;AC7658&lt;/AccountNumber&gt;       
          &lt;Code&gt;
              &lt;CodeType&gt;MNR&lt;/CodeType&gt;
              &lt;CodeValue&gt;67&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Code&gt;
              &lt;CodeType&gt;HGV&lt;/CodeType&gt;
              &lt;CodeValue&gt;6780&lt;/CodeValue&gt;
          &lt;/Code&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;BNP&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;5678&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;Bonus&gt;
              &lt;BonusDescription&gt;INCR&lt;/BonusDescription&gt;
              &lt;BonusOfferNumber&gt;7804&lt;/BonusOfferNumber&gt;
          &lt;/Bonus&gt;
          &lt;AccountOption&gt;
              &lt;AccountOptionNumber&gt;9&lt;/AccountOptionNumber&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;NAT&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;US&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
              &lt;Supplier&gt;
                  &lt;SupplierName&gt;LKM&lt;/SupplierName&gt;
                  &lt;SupplierDetails&gt;GB&lt;/SupplierDetails&gt;
              &lt;/Supplier&gt;
          &lt;/AccountOption&gt;
      &lt;/Account&gt;    
  &lt;/Service&gt;
  </code></pre>