XSL 格式化对象不支持页面母版中页眉或页脚的属性

问题描述 投票:0回答:1

尽管有任何信息,我发现页眉或页脚中的文本属性似乎被忽略了。

我在尝试为偶数页和奇数页添加不同的文本对齐方式时偶然发现了这个问题

这是我使用的代码:

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

<root xmlns="http://www.w3.org/1999/XSL/Format">
    <layout-master-set>
        <!-- Define master for odd pages -->
        <simple-page-master master-name="odd-page" page-width="8.5in" page-height="11in" margin="1in">
            <region-body margin="1in"/>
            <region-before extent="1in"/>
            <region-after extent="1in" text-align="left" text-indent="10%"/>
        </simple-page-master>
        
        <!-- Define master for even pages -->
        <simple-page-master master-name="even-page" page-width="8.5in" page-height="11in" margin="1in">
            <region-body margin="1in"/>
            <region-before extent="1in"/>
            <region-after extent="1in" text-align="right" text-indent="50%"/>
        </simple-page-master>
        
        <!-- Define page sequence master for alternating odd and even pages -->
        <page-sequence-master master-name="main">
            <repeatable-page-master-alternatives>
                <conditional-page-master-reference master-reference="odd-page" odd-or-even="odd"/>
                <conditional-page-master-reference master-reference="even-page" odd-or-even="even"/>
            </repeatable-page-master-alternatives>
        </page-sequence-master>
    </layout-master-set>
    
    <!-- Main page sequence using the page sequence master -->
    <page-sequence master-reference="main">
        <static-content flow-name="xsl-region-before">
            <block>test</block>
        </static-content>
        <static-content flow-name="xsl-region-after">
            <!-- Your footer content goes here -->
            <block>
                Page <page-number-citation ref-id="dummy-id"/>
            </block>
        </static-content>
        <flow flow-name="xsl-region-body">
            <!-- Your content goes here -->
            <block id="dummy-id">Some content...</block>
        </flow>
    </page-sequence>
    <page-sequence master-reference="main">
        <static-content flow-name="xsl-region-before">
            <block>test</block>
        </static-content>
        <static-content flow-name="xsl-region-after">
            <block>
                Page <page-number-citation ref-id="dummy-id2"/>
            </block>
        </static-content>
        <flow flow-name="xsl-region-body">
            <!-- Your content goes here -->
            <block id="dummy-id2">Some content... 2</block>
        </flow>
    </page-sequence></root>

在这两种情况下,页脚都是左对齐的。我错过了什么还是 XSL FO 内部有问题

xsl-fo
1个回答
0
投票

您需要将

text-align
text-indent
属性放在
fo:static-content
fo:block
上才能工作。

属性值继承沿着 FO 树向下进行。不会针对每个使用

fo:static-content
的地方重新评估它。请参阅https://www.w3.org/TR/xsl11/#inheritance

唯一的例外是您可以使用

from-page-master-region()
从适用的页面区域获取
writing-mode
reference-orientation
值。

© www.soinside.com 2019 - 2024. All rights reserved.