我有XSL
需要由给定的 Locale
动态渲染的文件.
通过此区域设置,我们将从右到左或从左到右呈现 PDF。
目前我有一个原版XSL
双方都需要使用的文件。
我已经添加了writing-mode="rl"
以便针对该问题建立 POC,并且运行良好。
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" writing-mode="rl">
我想知道我需要从 Java 代码中使用什么 API,以便通过给定的 Locale
放置此属性无需创建我的 XSL
的副本
我尝试通过网络寻找答案,但找不到我需要的内容。
最佳答案
您的 Java 代码可能包含基于区域设置的查找以确定写入模式。 “How to find out locale-dependent text orientation in java?”问题有一个来自必须自己动手的人的例子。
或者,您可以在 XSLT 中进行查找。为了帮助您入门,这里有一个使用三字母语言标签的 XSLT 2.0 函数,该函数是我不久前在格式化《世界人权声明》(UDHR) 的翻译时编写的:
<xsl:function name="m:writing-mode" as="xs:string">
<xsl:param name="lang" />
<xsl:sequence
select="if ($lang = ('heb', 'arb', 'pnb', 'skr',
'ydd', 'pes', 'urd', 'pbu',
'mly_arab', 'uig_arab',
'aii', 'div'))
then 'rl'
else 'lr'" />
</xsl:function>
关于java - XSL-FO - 如何动态设置页面方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53150000/