2016-04-26 7 views
0

だから、私は立ち往生しています。xslテンプレートの動的背景色コード

xmlファイルからカラーコードを読み取ろうとしています。このxmlファイルは、私のxslテンプレートがFOP 0.2を介してpdfに生成されるたびに異なります。

私の考えは、ローカル変数を設定して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> 

パーサが、私は背景色の要素の中に「<」を使用することができる方法をtheresのことを私に伝えます。

:(

答えて

0

あなたは、中括弧は、文字通り、むしろ出力よりも評価される式を示している。

<fo:block font-weight="bold" font-family="Arial, sans-serif" font-size="10pt" 
      background-color="#{HEAD/COLOR}" ... 

注意、あなたのことを...ここ

<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> 

Attribute Value Templatesを使用することができます実際にここで変数を使用する必要はありません。これもできます....