无法让 ICU4J 与 Saxon HE 10.3 一起使用
Posted
技术标签:
【中文标题】无法让 ICU4J 与 Saxon HE 10.3 一起使用【英文标题】:Can't get ICU4J working with Saxon HE 10.3 【发布时间】:2021-05-30 00:14:11 【问题描述】:我正在尝试让国际化插件 ICU4J 与 Saxon HE 10.3 一起使用。 我在 Classpath 上有 ICU4J,但 Saxon HE 10.3 没有使用它。
在样式表中格式化日期时,例如使用...
<xsl:value-of select="format-dateTime(current-dateTime(), '[h1]:[m01] [P] on [MNn] [D].', 'de', 'AD', 'DE')"/>
...ICU4J 没有被调用来格式化日期。 如何在 Saxon HE 10.3 中注册/安装 ICU4J?
【问题讨论】:
我不认为 ICU4J 只是你放在类路径上的一个插件,然后任何 Java 程序都神奇地拥有更好的国际化支持。因此,无论是 BaseX 还是 Saxon HE,仅将 ICU4J 放在类路径上并不会提高日期格式化能力,而是在 BaseX 的情况下,在 Unicode 排序方面有所改进,因为 BaseX 代码设置为使用例如,ICU 可用,但不适用于日期格式。我对 Saxon 的理解是商业版 PE 和 EE 带有 ICU 支持,但由于商业 com.saxonica 类中的代码。 【参考方案1】:ICU4J 集成需要 Saxon-PE 或 -EE。
见https://saxonica.com/products/feature-matrix-10.xml
【讨论】:
以上是关于无法让 ICU4J 与 Saxon HE 10.3 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
从 Saxon 9.4he 中的嵌入式资源加载 xml 和 xslt
Saxon-HE 9.3 的 javax.xml.xpath.XPathFactory 提供程序配置文件中的语法错误