【发布时间】:2021-06-08 17:37:17
【问题描述】:
我需要对一些内容进行排序,但前提是属性等于 CAT。我想我应该能够将我的 ant 构建文件中的属性传递给 use-when 属性,但它不起作用。任何帮助将不胜感激
这是我拥有的 xslt:
<xsl:for-each select="document(@fileRef)/foo/bar">
<xsl:sort select="translate(child::Title/text(), '>', '')" order="ascending" use-when="system-property('customerCode')='CAT'"
collation="http://www.w3.org/2005/xpath-functions/collation/html-ascii-case-insensitive"/>
<!-- do some stuff here -->
</xsl:for-each>
【问题讨论】:
-
是的,原则上应该是可以的。但是我不确定如何从 Ant 设置 Java 系统属性的细节。
-
@MichaelKay 这是实现这一目标的唯一方法吗? stackoverflow.com/questions/16695538/…
-
我会尝试首先确定您的
system-property('customerCode')代码是否按您的预期通过。xsl:sort上的条件use-when对我来说很好,例如xsltfiddle.liberty-development.net/eieFzZZ/0、xsltfiddle.liberty-development.net/eieFzZZ/1、xsltfiddle.liberty-development.net/eieFzZZ/2、xsltfiddle.liberty-development.net/eieFzZZ/3。也许显示您的 Ant 代码并为 Ant 添加一个标记,看看是否有人可以告诉更多关于使用 Ant 将系统属性中的值获取到 XSLT 的正确方法。 -
你也可以使用静态参数;问题是 Ant 的 xslt 任务还没有升级到能够识别这些概念。