Ansgar: XSL:FO Variablen verwenden

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

  1. danke, aber hat sich erledigt.

    Wen es interesiert.
    so gehts

    number-columns-spanned="{$colsp}"

    HEUREKA

    Ansgar

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