【发布时间】:2017-12-21 17:04:46
【问题描述】:
如何在以下 xslt 1.0 中执行排序 以下是预期的输入 xmls 和输出
输入xml:
<?xml version="1.0" encoding="utf-8"?>
<input>
<a attr1="2B"></a>
<a attr1="0003"></a>
<a attr1="1"></a>
<a attr1="AA"></a>
<a attr1="2A"></a>
<a attr1="AB"></a>
<a attr1="2"></a>
<a attr1="1A"></a>
<a attr1="04"></a>
<a attr1="3C"></a>
</input>
预期输出:
<output>
<a attr1="1"></a>
<a attr1="1A"></a>
<a attr1="2"></a>
<a attr1="2A"></a>
<a attr1="2B"></a>
<a attr1="0003"></a>
<a attr1="3C"></a>
<a attr1="04"></a>
<a attr1="AA"></a>
<a attr1="AB"></a>
</output>
【问题讨论】:
-
为什么
0003在2B之后(同样04在3C之后)? -
因为 0003 相当于 3,04 相当于 4。
-
“0A”会出现在“1”之前还是“AA”之前(在“04”之后)?在这种情况下,前导 0 会被计为数值,还是像其他数值中的 0 一样被忽略?
-
@AntonH 订单将是 04,0A,AA。所以前导 0 将被忽略。
-
@attr1 的值是否总是先编号(如果有),然后是字符?可以有多个数字和多个字母的任意顺序吗?