xslt 2.0 法语或德语月份名称

发布于 2024-10-30 08:06:26 字数 845 浏览 1 评论 0原文

我使用 xslt fn:formate-dateTime() 来获取当前日期和时间,对于英语来说它工作正常。

但是每次我尝试获取不同语言(fr、de 等)的月份名称时,我只会获取前面带有 [Language: en] 的当前日期和时间,而无法获取该语言的月份名称。

创建日期:[语言:en] 06/April/2011

这是我的代码,有人可以告诉我我在这里做错了什么吗?

<xsl:value-of select="format-dateTime(current-dateTime(),
                                      '[D01]/[MNn]/[Y0001]',
                                      ’de’,
                                      ’AD’,
                                      ’DE’)"/>

或者

<xsl:value-of select="format-dateTime(current-dateTime (),
                                      '[D01]/[MNn]/[Y0001]',
                                      ’fr’,
                                      ’AD’,
                                      ’FR’)"/>

我使用 Saxon 9 和在 tomcat 7 上运行的 Fop 1.0

I’m using xslt fn:formate-dateTime() to get the current date and time, for English it’s works fine.

But everytime I try to get the month name in different languages (fr, de, etc), I will just get the current date and time with [Language: en] in the front and couldn’t get the month name in that language.

Date Created: [Language: en] 06/April/2011

Here is my code, Could someone tell me what I’m doing wrong here.

<xsl:value-of select="format-dateTime(current-dateTime(),
                                      '[D01]/[MNn]/[Y0001]',
                                      ’de’,
                                      ’AD’,
                                      ’DE’)"/>

Or

<xsl:value-of select="format-dateTime(current-dateTime (),
                                      '[D01]/[MNn]/[Y0001]',
                                      ’fr’,
                                      ’AD’,
                                      ’FR’)"/>

I’m using Saxon 9 with Fop 1.0 running on tomcat 7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

惟欲睡 2024-11-06 08:06:26

来自 http://www.w3.org/TR/xslt20/#lang-卡尔国家

语言、日历和
受支持的国家
日期格式化函数是
实现定义的。当任何一个
这些参数被省略或者是
空序列,一个
实现定义的默认值
已使用。

如果后备表示使用
与此不同的日历
请求时,输出字符串必须是
前缀为 [Calendar: X] 其中 X
标识实际使用的日历。
字符串 Calendar 应该是
使用请求的语言进行本地化
如果有的话。如果后备
表示使用不同的
所请求的语言,
输出字符串应带有前缀
[语言:Y] 其中 Y 标识
实际使用的语言。字符串
Language 可以本地化为
依赖于实现的方式。如果一个
值的特定组成部分
无法按要求输出
格式,它应该输出在
该组件的默认格式。

来自 http://www.saxonica.com/documentation/functions/intro/格式日期时间.xml

使用格式格式化日期
由图片字符串控制。如果
未指定语言,值为
取自当前的 Java 语言环境。如果
语言(明确提供或
默认)不是“en”,
系统尝试查找名为的类
net.sf.saxon.number.Numberer_XX
其中 XX 是语言;这堂课
必须提供方法来执行
本地化。

From http://www.w3.org/TR/xslt20/#lang-cal-country

The set of languages, calendars, and
countries that are supported in the
date formatting functions is
implementation-defined. When any of
these arguments is omitted or is an
empty sequence, an
implementation-defined default value
is used.

If the fallback representation uses a
different calendar from that
requested, the output string must be
prefixed with [Calendar: X] where X
identifies the calendar actually used.
The string Calendar should be
localized using the requested language
if available. If the fallback
representation uses a different
language from that requested, the
output string should be prefixed with
[Language: Y] where Y identifies the
language actually used. The string
Language may be localized in an
implementation-dependent way. If a
particular component of the value
cannot be output in the requested
format, it should be output in the
default format for that component.

From http://www.saxonica.com/documentation/functions/intro/format-dateTime.xml

Formats a date, using a format
controlled by the picture string. If
no language is specified, the value is
taken from the current Java locale. If
the language (explicitly supplied or
defaulted) is other than "en", the
system tries to locate a class named
net.sf.saxon.number.Numberer_XX
where XX is the language; this class
must provide methods to perform the
localization.

山色无中 2024-11-06 08:06:26

实际上,有关 Saxon 的信息有点过时了(http:// 中的信息也是如此) www.saxonica.com/documentation/extensibility/localizing.xml - 令人尴尬)。

但我们需要知道您使用的是哪个特定的 Saxon 版本:它在 9.1 和 9.2 之间发生了变化,并且家庭版和专业版之间有所不同。在当前版本 9.3 中,Saxon-PE 和 Saxon-EE 可以“开箱即用”地支持多种常见语言,例如 de 和 fr,但必须使用 Saxon-HE 从源代码手动配置,通过编写 LocalizerFactory 并将其注册到配置中。

Actually that information about Saxon is a little out of date (as is the information at http://www.saxonica.com/documentation/extensibility/localizing.xml - embarrassing).

But we need to know which specific Saxon release you are using: it changed between 9.1 and 9.2, and it's different between Home Edition and Professional Edition. In the current release, 9.3, support for a number of common languages such as de and fr is available "out of the box" with Saxon-PE and Saxon-EE, but has to be configured manually from source code with Saxon-HE, by writing a LocalizerFactory and registering it with the Configuration.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文