2014-01-16 3 views
1

주어진 로케일의 날짜 서식을 지정하는 XSL 스타일 시트가 있습니다. Oxygen에서 스타일 시트를 실행할 때 결과는 예상대로 독일어로 표시됩니다. saxon9he 또는 xproc에 명령 줄을 사용하면 영어로 출력됩니다. 대신 독일어로하고 싶습니다.XProc : 출력 언어 설정

소스 (모든 소스 파일을 할 것입니다) source.xml :

<?xml version="1.0" encoding="UTF-8"?> 
<root/> 

XSL 파일 transformation.xsl :

<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는) :

<?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 파일을 실행합니다 :

export CLASSPATH=...../lib/calabash.jar:....../lib/saxon9he.jar 
java com.xmlcalabash.drivers.Main showdate.xpl 

그리고 그 결과는 이것이다 :

<?xml version="1.0" encoding="UTF-8"?> 
<foo>[Language: en]Thursday</foo> 

나는

<?xml version="1.0" encoding="UTF-8"?> 
<foo>Donnerstag</foo> 

내가 xproc으로 가지고 싶은 결과를 얻을 수있는 방법/호리병박을 가지고 싶습니다 반면, ?

+0

saxon 버전에 문제가있을 수 있습니다. '그'는 현지화를 지원하지 않지만 'pe'와 'ee'는 ​​지원됩니다. – topskip

답변

0

@topskip이 맞습니다. 산소는 Saxon EE를 사용합니다.이 언어는 여러 언어에 대한 지역화 지원을 제공합니다 (Saxon PE에서도 마찬가지 임).

Saxon HE (기본적으로 Calabash가 사용함)에는 out-of-the-box 현지화 지원이 없으므로 영어 출력이 제공됩니다. 그러나 Saxon HE에서도 현지화를 구성 할 수있는 방법이 분명히 있습니다 (Saxon documentation 참조).