2011-07-04 58 views
1

是否可以在xsl-fo中「引用」元素?我所試圖做的是以下幾點:引用xsl-fo中的元素

<fo:marker marker-class-name="continued"> 
<!-- much much more xml text content --> 
</fo:marker> 

<--.....--> 

<fo:table-body> 
<fo:table-row> 
    <!--at his point I'd like to "reference" (or copy) the marker from above --> 
</fo:table-row> 
<!--many more rows which reference the same marker --> 
</fo:table-body> 

這樣做的原因是,如果我在我的表有很多行和標記含量大,則XML只是變得太大。我已經試過了xsl:元素複製的,因爲這看起來是我想要做的事:

http://www.w3schools.com/xsl/el_copy-of.asp

但是,這將不符合我的FO工作,appearently元素,副本是因爲忽略我沒有得到任何表頭在輸出。有任何想法嗎?我正在使用渲染器的ecrion。

感謝

斯特凡

+0

你誤會XSL-FO,不接受XSLT語法的範圍。您可以編寫生成XSL-FO的XSLT,然後使用XSLT指令。否則,您必須在XSL-FO對象中搜索合適的元素。 –

回答

0

嘗試使用fo:retrieve-marker

例如:

<fo:marker marker-class-name="continued"> 
<!-- much much more xml text content --> 
</fo:marker> 

<--.....--> 

<fo:table-body> 
<fo:table-row> 
    <fo:retrieve-marker retrieve-class-name="continued" retrieve-position="first-including-carryover"/> 
</fo:table-row> 
<!--many more rows which reference the same marker --> 
</fo:table-body>