base.xsl 660 Bytes
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>

<xsl:template match="/base">
    <xsl:copy>
       <xsl:apply-templates select="vi" />         
    </xsl:copy> 
</xsl:template>

<xsl:template match="vi">
      <xsl:copy>
	  <xsl:copy-of select="@*"/>
	  <xsl:copy-of select="mask" />  
	  <xsl:copy-of select="param" /> 
	  <xsl:copy-of select="arguments" />  
	  <xsl:for-each select="file" >
	      <xsl:sort select="@start" data-type="number"/>
	      <xsl:copy-of select="." />
	</xsl:for-each>           
     </xsl:copy>
</xsl:template>
</xsl:stylesheet>