所以,我被卡住了。
我正在尝试从xml文件中读取颜色代码。每当我的xsl模板即将通过FOP 0.2生成为pdf时,此xml文件将不同。
所以我的想法是设置一个局部变量读取xml文件的特定部分,将其写入我的变量并将此值设置为我的背景颜色。到目前为止我失败了。有没有办法实现这个目标?
这是我到目前为止所得到的:
<xsl:variable name="color"><xsl:value-of select="HEAD/COLOR"/></xsl:variable>
<fo:block font-weight="bold" font-family="Arial, sans-serif" font-size="10pt" background-color="#<xsl:value-of select="$color"/>" background-repeat="no-repeat" background-position="center">
<xsl:call-template name="xxx" />
</fo:block>
当然解析器告诉我,我无法使用“&lt;”在background-color元素中。
:(
答案 0 :(得分:0)
您可以在此处使用Attribute Value Templates ...
<xsl:variable name="color"><xsl:value-of select="HEAD/COLOR"/></xsl:variable>
<fo:block font-weight="bold" font-family="Arial, sans-serif" font-size="10pt"
background-color="#{$color}" background-repeat="no-repeat" background-position="center">
<xsl:call-template name="xxx" />
</fo:block>
花括号表示要计算的表达式而不是字面输出。
<fo:block font-weight="bold" font-family="Arial, sans-serif" font-size="10pt"
background-color="#{HEAD/COLOR}" ...
请注意,您实际上并不需要在此处使用变量。你也可以这样做....