XSL-FO条件页面序列?

时间:2013-06-21 15:59:18

标签: xsl-fo

我见过如何使用conditional-page-master-reference来指定当条件为以下标准时使用哪个页面主文件的示例:空白或非空白,奇数或偶数或页面-postion。我想知道是否有办法做更具体的条件页面主选择。例如,第1-3页使用页面主文件A,第4-6页使用页面主文件B,第7-9页使用页面主文件A.此类标准不属于条件页面中的3个可用选项之一-master-reference ...还假设由于XML中的某些数据,第4-6页被确定为主B的页面。那么,是否可以使用数据(XML)作为确定要使用的页面主文件的标准的输入?有什么想法吗?

...谢谢

1 个答案:

答案 0 :(得分:2)

  

例如,第1-3页使用页面主文件A,第4-6页使用页面主文件B,第7-9页使用页面主文件A.

这是通过按所需顺序指定页面来完成的:

  <single-page-master-reference master-reference="A"/>
  <single-page-master-reference master-reference="A"/>
  <single-page-master-reference master-reference="A"/>
  <single-page-master-reference master-reference="B"/>
  <single-page-master-reference master-reference="B"/>
  <single-page-master-reference master-reference="B"/>
  <single-page-master-reference master-reference="A"/>
  <single-page-master-reference master-reference="A"/>
  <single-page-master-reference master-reference="A"/>
  

那么,是否可以使用数据(XML)作为确定要使用的页面主文件的标准的输入?

当然,如果您没有在页面序列中间更改页面主页。如果您需要在开始页序列时确定整个页面序列几何,那么您的XSLT只需选择要使用的相应master-reference =属性。

但是,您可能会询问某些用户是否需要在页面序列中间更改页面母版。例如,在技术写作中,一些用户需要在纵向页面序列的中间切换到单个表格的横向几何方向。

在这种情况下,如果没有在解释之前先进行预处理,就不能使用XSL-FO。为了简化这种预处理,我开发了免费使用的PSMI格式语义并在此处发布:

http://CraneSoftwrights.com/resources/#psmi

许多人将PSMI用于我描述的用例:他们需要在页面序列的中间动态切换页面几何,这在“纯”XSL-FO中是不允许的。因此,他们的XSLT创建了XSL-FO + PSMI,然后他们使用我的免费样式表将XSL-FO + PSMI转换为纯XSL-FO,然后在任何符合要求的XSL-FO处理器中工作。