我有xsl:template
,当前正在从left to right
渲染,我希望从right to left
渲染。
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:report="http://caretalks.somecompanyname.com/IET/2007/12"
xmlns:Parse="com.somecompanyname.caretalks.util.StringParserUtils"
xmlns:Ext="com.somecompanyname.caretalks.util.XsltUtils"
exclude-result-prefixes="fo">
<xsl:template match="report:memberEngagementReport">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master master-name="simpleA" page-height="11in"
page-width="8.5in" margin-top="0.5cm" margin-bottom="0.5cm"
margin-right="0.5cm" margin-left="0.5cm"
writing-mode="{$writingMode}">
<fo:region-body margin-top="1cm" margin-bottom="2.6cm"
margin-right="1.5cm" margin-left="1.5cm"/>
<fo:region-before extent="0.5cm"/>
<fo:region-after extent="2.0cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
.
.
.
.
</xsl:template>
</xsl:stylesheet>
我已经在网上搜索了可能的解决方案,但找不到我需要的东西。
我该怎么做才能渲染right to left
?
我还正在寻找一种方法来同时对它们进行渲染(LTR / RTL)并维护一个原始的XSL
文件。
答案 0 :(得分:1)
writing-mode
是继承的,因此在writing-mode="rl"
上设置fo:root
使其适用于整个文档。参见https://www.w3.org/TR/xsl11/#writing-mode。
您似乎正在使用FOP,因此如果您希望不同区域的内容具有不同的书写模式,则不能使用from-page-master-region()
从页面区域获取书写模式。但是,由于您有用于写入模式的变量,因此可以在每个writing-mode
或fo:flow
上设置fo:static-content
。