2013-06-21 34 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