【发布时间】:2016-09-22 04:43:39
【问题描述】:
我正在尝试使用 XSLT 将 XML 转换为另一个 XML。 这是我的输入 XML:
...
<size>21467</size>
....
我想将此输入 XML 转换为如下所示的输出 XML:
...
<HAS>
<C SZ="21k"/>
</HAS>
...
我的 XSLT 代码:
...
<HAS>
<C>
<xsl:attribute name="SZ" select="xs:string(xs:anyURI(fn:string($var1_resultof_first/size)))" />
</C>
</HAS>
..
我不确定如何将大小“21467”转换为“21k”。任何帮助将不胜感激
【问题讨论】:
-
一个例子不足以表达一个规则。给定的值是否总是大于 1,000?如果不是,那应该是什么结果?
-
我已经有一个适用于所有元素的模板 。我不能使用两个模板。还有其他方法可以做到这一点吗?我的数字大于 1,000
-
"我不能使用两个模板。" 您可以根据需要使用尽可能多的模板。无论如何,这不是这里的重要部分。
format-number($input div 1000, '0k')是。随意使用它。 -
请检查我的问题的编辑部分。我已经添加了我原来的 XSLT
-
我认为你有足够的能力自己解决这个问题。下次,发布minimal reproducible example,包括输入和预期输出。