xsl: template - как отобразить страницу справа налево? - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть 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 файла.

1 Ответ

0 голосов
/ 04 ноября 2018

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.

...