diff --git a/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt b/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
index e4fa358efb2f40844edde01282401ea067bb1361..2686e898791da3e6e138b4f17a0de634be66f9cb 100644
--- a/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
+++ b/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
@@ -17,7 +17,17 @@
       - sort entries of torque converter characteristics
       - sort torque limiation entries 
       - sort gears
+	  - sort characteristics entries
       - sort axles
+	  - sort maxtorquecurve entries
+	  - sort powermap entries
+      - sort dragcurve entries
+	  - sort conditioning entries
+	  - sort powermaps by gear attribute
+      - sort voltage entries by voltage element value
+      - sort ovc entries
+      - sort internalresistance entries
+      - sort currentlimits entries
 -->	<xsl:output omit-xml-declaration="no" indent="yes"/>
 	<xsl:template match="*">
 		<xsl:element name="{local-name()}">
@@ -105,4 +115,115 @@
 			</xsl:for-each>
 		</xsl:element>
 	</xsl:template>
+	
+	
+	<xsl:template match="*[local-name()='MaxTorqueCurve']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@outShaftSpeed" order="ascending"/>
+				<xsl:sort data-type="number" select="@maxTorque" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>
+	<xsl:template match="*[local-name()='PowerMap']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@outShaftSpeed" order="ascending"/>
+				<xsl:sort data-type="number" select="@torque" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>	
+	<xsl:template match="*[local-name()='DragCurve']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@outShaftSpeed" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>		
+	<xsl:template match="*[local-name()='Conditioning']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@coolantTempInlet" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>			
+	<xsl:template match="*[local-name()='VoltageLevel']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@gear" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>			
+	<xsl:template match="*[local-name()='Data']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			
+			<xsl:apply-templates select="./*[not(local-name()='DragCurve') and not(local-name()='Conditioning') and not(local-name()='VoltageLevel')]"/>
+			
+			<xsl:for-each select="*[local-name()='VoltageLevel']">
+				<xsl:sort data-type="number" select="*[local-name() = 'Voltage']/text()" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>					
+						
+			<xsl:for-each select="*[local-name()='DragCurve']">
+				<xsl:sort data-type="number" select="@gear" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+			
+			<xsl:for-each select="*[local-name()='Conditioning']">
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>			
+		</xsl:element>
+	</xsl:template>	
+	<xsl:template match="*[local-name()='OCV']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@SoC" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>
+	<xsl:template match="*[local-name()='InternalResistance']">
+		<xsl:choose>
+			<xsl:when test="*">	
+				<xsl:element name="{local-name()}">
+					<xsl:apply-templates select="@*"/>
+					<xsl:for-each select="*">
+						<xsl:sort data-type="number" select="@SoC" order="ascending"/>
+						<xsl:sort data-type="number" select="@R_2" order="ascending"/>
+						<xsl:sort data-type="number" select="@R_10" order="ascending"/>
+						<xsl:sort data-type="number" select="@R_20" order="ascending"/>
+						<xsl:apply-templates select="."/>
+					</xsl:for-each>
+				</xsl:element>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:element name="{local-name()}">
+					<xsl:apply-templates select="@*|node()"/> 
+				</xsl:element>
+			</xsl:otherwise>		
+		</xsl:choose>
+	</xsl:template>		
+	<xsl:template match="*[local-name()='CurrentLimits']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@SoC" order="ascending"/>
+				<xsl:sort data-type="number" select="@maxChargingCurrent" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>	
+	
 </xsl:transform>