XSL:FO Variablen verwenden
Ansgar
- xsl
Hallo,
ich hätte da eine ganz konkrete Frage. Schaut euch mal folgenden CODE an.
<!-- Extrahieren der Attribute COLSPAN und ROWSPAN -->
<xsl:variable name="colsp">
<xsl:value-of select="@COLSPAN"/>
</xsl:variable>
<xsl:variable name="rowsp">
<xsl:value-of select="@ROWSPAN"/>
</xsl:variable>
xsl:choose
<!-- FALL 1 - ROWSPAN und auch COLSPAN -->
<xsl:when test="(string-length($rowsp) >= 1) and (string-length($colsp) >= 1)">
<fo:table-cell
border-style = "solid"
padding-left = "2pt"
number-columns-spanned = "$colsp"
number-rows-spanned = "$rowsp"
vertical-align = "middle"
text-align = "left" >
<fo:block
font-size = "8pt"
font-family = "Helvetica"
color = "black"
space-before = "4pt"
space-after = "4pt"
text-align = "left">
xsl:apply-templates/
<fo:inline color="red">
xsl:textROWSPAN: </xsl:text>
<xsl:value-of select=" $rowsp "/>
xsl:textCOLSPAN: </xsl:text>
<xsl:value-of select=" $colsp "/>
</fo:inline>
</fo:block>
</fo:table-cell>
</xsl:when>
Hier meine Frage !!!
Ich lese aus dem <TD>-Tag einer XML-Datei die Attribute (falls vorhanden) ROWSPAN und COLSPAN aus und speichere sie in die Variablen @rowsp und @colsp. Nun möchte ich diese Variablen in dem Property number-rows-spanned und number-columns-spanned verweden. Dies klappt aber so wie ich es probiere (nämlich mit number-rows-spanned="$rowsp") nicht.
Fehlermeldung von FOP:
[ERROR] Error in number-rows-spanned property value '$rowsp': org.apache.fop.fo.expr.PropertyException: illegal character
--> Warum funktioniert es hier nicht so, wenn es im Code weiter unten bei <xsl:value-of select=" $colsp "/> EINWANDFREI klappt.
Bitte um Hilfe
Danke
Ansgar
PS: Ich verwende den FOP-Engine von Apache
danke, aber hat sich erledigt.
Wen es interesiert.
so gehts
number-columns-spanned="{$colsp}"
HEUREKA
Ansgar
Hallo,
Wen es interesiert.
so gehts
number-columns-spanned="{$colsp}"
Ja, das nennt sich Attribute Value Template:
http://www.w3.org/TR/xslt#attribute-value-templates
Grüße
Thomas