我有一些XML,我試圖將其轉換爲適合打印的報表。到目前爲止,一切都進展順利,除了一部分。在for-each期間插入新元素到提供的XML中
這涉及當前正在輸出的行的當前頁碼。我使用<fo:page-number/>
來獲取當前頁碼,但是我發現在使用與當前行同級相關的信息後,我發現我無法在範圍內設置一個變量,請使用for-each
獨自被改變。
所以,我目前玩弄的想法是,在每次迭代時,正在使用的當前節點都有一個新的元素(或屬性)被引入,其中包含當時出現的fo:page-number
的值。然後,在下一次迭代中,我將從preceding-sibling::
中獲取元素/屬性,然後測試當前的fo:page-number
是否與該值不同。
不幸的是,我沒有太多的運氣找到一種方法來做到這一點,我從谷歌搜索獲得的所有結果都來自w3fools的結果。有誰知道這是否可能,如果有的話,怎麼做?
我不確定我在這裏理解你的邏輯 - 你使用XSLT生成XSL-FO,然後使用FO處理器將生成的XSL-FO轉換爲渲染輸出,只有在這個階段你才知道什麼值一個特定的''會產生(XSLT和XSL-FO處理器可能是同一個軟件包的一部分,但在概念上它們是兩個獨立的階段)。您不能在XSLT中使用'page-number'標籤產生的輸出值。 –
嗯,這是一個恥辱。是否還有其他函數(很可能在fo內)允許將當前頁碼作爲邏輯中的變量使用? – topherg
在什麼階段你想使用'fo:page-number?'在XSLT階段(即將XML數據轉換爲XSL-FO),頁碼是未知的。但是,爲什麼不更清楚地說明你打算實現的目標(可能包括XML示例或描述輸出) - 那麼,也許有人可以提出另一種解決方案? –