2013-06-21 33 views
0

我见过有关如何使用conditional-page-master-reference来指定当条件是下列条件之一时要使用哪个页面主控的示例:空白或非空白,奇数或偶数,现在的位置。我想知道是否有办法做更具体的条件页面主选择。例如,第1-3页使用页面母版A,第4-6页使用页面母版B,第7-9页使用页面母版A.这种类型的条件不属于条件页面的3个可用选项之一-master-reference ...同样,假设由于XML中的一些数据,第4-6页被确定为主B的页面。那么,是否有可能使用数据(XML)作为确定页面主人使用的标准的输入?有任何想法吗?XSL-FO有条件的页面序列?

谢谢...

回答

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)作为输入为d标准确定页面主要使用?

当然,如果您不是在页面序列中间更改页面主页。如果您在开始页面序列时需要确定整个页面序列几何,那么您的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处理器中工作。

+0

谢谢...我不打算改变页面序列中间的页面几何图形,但感谢信息和代码示例。我也发现这个链接是类似于我想要做的:http://stackoverflow.com/questions/6836142/how-to-dynamically-change-xslt-page-sequence-based-on-node-attributes – Kevin