以下のように人物を年齢順にソートしようとしたのですが、
どうも属性値が文字扱いされているようで一文字目の大小だけで
200歳が60歳の前に来てしまいます。
<xsl:for-each select="登場人物/人物" order-by="+@年齢">
属性値を数値扱いしてソートする方法はないのでしょうか?

<xsl:for-each select="登場人物/人物">
<xsl:sort select="@年齢" data-type="number" order="ascending" />
としてもどうも上手くいきません。つまらない質問で恐縮ですがどなたか
ご指摘頂けると有難いです。