我正在使用 xslt 转换通过 Apache FOP 库将 Java 对象格式化为 pdf。特别是我想将我的对象的一个字段,一个 java.util.Date 格式化为 DD/MM/YYYY 格式。为了能够使用内置函数“format-dateTime”进行格式化,我将 xslt 版本设置为 2.0,并将转换处理器切换到 saxon-8.7,因为 xalan 不支持 2.0 版本,然后我在 xslt 中添加了日期格式化指令,如下所示:
Value date: <xsl:value-of select="format-dateTime(valueDate, '[D01]/[M01]/[Y0001]') " />
在开始转换之前,我将 Date 字段打印到 stdout 以确保它在输入对象中的值正确:
valueDate: Thu Jan 01 01:00:00 CET 1970
这就是我所期望的。
但是在输出文本中,在 xsl 转换之后,在(格式正确的)日期之前出现了不需要的“语言”信息。
[Language: en]01/01/1970
有人知道为什么吗?