我在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
替换为整个样式文字。
答案 0 :(得分: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">