Yago,
Here's a snippet that'll work for your example:
<xsl:template match="/">
<recordset>
<xsl:for-each select="recordset/row">
<xsl:sort select="substring(@Location,1,2)" data-type="text"
order="ascending" case-order="upper-first"/>
<xsl:sort select="substring(@Location,3)" data-type="number"
order="ascending" />
<xsl:copy-of select="."/>
</xsl:for-each>
</recordset>
</xsl:template>
This is obviously not a generalized solution, but it works for your use
case.
There probably is a way to do this within a generalized approach, but off
the top of my head I can't think of any other than constructing an RTF
that'll drive the sorting or calling a custom script extension function from
within the sort element.
-Jeff
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list