2014-03-06 25 views
2

我在xsl-fo模板中爲表格的邊框使用了一種樣式。有沒有辦法將下面的代碼定義爲一個樣式變量,並在我想應用這種樣式的地方使用「變量」?在xsl-fo文檔中只定義一次邊框

例如:

padding-top="0pt" 
padding-left="3.5pt" 
padding-bottom="0pt" 
padding-right="3.5pt" 
border-top-style="solid" 
border-top-color="black" 
border-top-width="0.5pt" 
border-left-style="solid" 
border-left-color="black" 
border-left-width="0.5pt" 
border-bottom-style="solid" 
border-bottom-color="black" 
border-bottom-width="0.5pt" 
border-right-style="solid" 
border-right-color="black" 
border-right-width="0.5pt" 
display-align="center" 

我希望我可以使用類似

<fo:table-row ${border-style-1}> 
..... 
    <fo:table-cell ${border-style-2} 

${var}我希望var將與整體風格的文字來代替。

回答

2

您將定義並使用屬性集,您可以在任何地方使用它們。

您可以使用這樣的事情:

<xsl:attribute-set name="row-style"> 
    <xsl:attribute name="padding-top">0pt</xsl:attribute> 
    <xsl:attribute name="padding-left">3.5pt</xsl:attribute> 
    <!-- rest of your attributes you wish here --> 
</xsl:attribute-set> 

,然後實際的對象:

<fo:table-row xsl:use-attribute-sets="row-style"> 

還要注意的是,如果你有重複的塊,你想重用,一個屬性 - 的一個定義設置可以用相同的方式使用另一個,如:

<xsl:attribute-set name="row-style" xsl:use-attribute-sets="inherit-me"> 
+0

代碼對於給出的示例如何? –

+0

已更新樣本,應該會對您有所幫助。 –