首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XProc:设置输出语言

XProc:设置输出语言
EN

Stack Overflow用户
提问于 2014-01-16 19:02:33
回答 1查看 155关注 0票数 1

我有一个XSL样式表,可以在给定的语言环境中格式化日期。当我从Oxygen运行样式表时,输出如预期的那样是德语。当我对saxon9he或xproc使用命令行时,输出是英文的。我想换成德语的。

源(任何源文件都可以) source.xml

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<root/>

XSL文件transformation.xsl

代码语言:javascript
运行
复制
<xsl:stylesheet version="2.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <foo>
      <xsl:value-of select="format-date(current-date(),'[FNn]','de',(),())"/>
    </foo>
  </xsl:template>
</xsl:stylesheet> 

和XProc文件(showdate.xpl):

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
  xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">

  <p:input port="source" sequence="false">
    <p:document href="source.xml"/>
  </p:input> 

  <p:output port="result" sequence="true">
    <p:empty/>
  </p:output> 

  <p:xslt> 
    <p:input port="stylesheet"> 
      <p:document href="transformation.xsl"/> 
    </p:input> 
    <p:input port="parameters">
      <p:empty/>
    </p:input>
  </p:xslt>

  <p:store href="out.xml"/>
</p:declare-step>

下面是我从Mac终端运行xproc文件的方式:

代码语言:javascript
运行
复制
export CLASSPATH=...../lib/calabash.jar:....../lib/saxon9he.jar
java com.xmlcalabash.drivers.Main showdate.xpl

结果是这样的:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<foo>[Language: en]Thursday</foo>

但是我想要

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<foo>Donnerstag</foo>

如何使用xproc / calabash获得我想要的结果?

EN

回答 1

Stack Overflow用户

发布于 2014-02-07 23:21:58

@topskip是正确的。Oxygen使用Saxon EE,它提供了对许多语言的本地化支持( Saxon PE也是如此)。

Saxon HE ( Calabash默认使用它)没有提供开箱即用的本地化支持,因此输出为英语。话虽如此,但显然也有一种方法可以在Saxon HE中配置本地化-参见Saxon documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21159933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档