Определите границы только один раз в документе 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
будет заменен всем текстом стиля.
1 ответ
Решение
Вы должны определить и затем использовать наборы атрибутов, вы можете использовать их где угодно.
Вы используете что-то вроде этого:
<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">