Announcement

Collapse
No announcement yet.

Spaltenbreite ermitteln (wahrsch. ganz easy)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spaltenbreite ermitteln (wahrsch. ganz easy)

    Hallo Forum,
    für die Festlegung der Spaltenbreite (column-width="") einer Tabelle brauche ich die Anzahl der td`s aus dem XML. Ich habe hier einen kläglichen Versuch mit einer Variablen und for-each:


    PHP Code:
    <xsl:template match="table/tr/td">
     <
    fo:block >
      <
    fo:table width="100%" padding-after="1cm" >

    <
    xsl:for-each select="td">
        <
    xsl:variable name="Anzahl_td" select="count(td)"/>

        <
    xsl:choose>
         <
    xsl:when test="{$Anzahl_td}= 5">
            <
    fo:table-column  column-width="4cm" />
         </
    xsl:when>
         <
    xsl:when test="{$Anzahl_td}= 4">
            <
    fo:table-column  column-width="4.5cm" />
         </
    xsl:when>
          <
    xsl:when test="{$Anzahl_td}= 3">
            <
    fo:table-column  column-width="5.5cm" />
         </
    xsl:when>
         <
    xsl:when test="{$Anzahl_td}= 2">
            <
    fo:table-column  column-width="6.5cm" />
         </
    xsl:when>
         <
    xsl:otherwise>
            <
    fo:table-column  column-width="7cm" />
         </
    xsl:otherwise>
       </
    xsl:choose
    Kann mir jemand helfen?
    Gruß
    Peter

  • #2
    funktioniert

    So hab ich es jetzt gemacht, und funktioniert


    PHP Code:
    <xsl:template match="table[@type='fromTable']">
        <
    xsl:variable name="Anzahl_td" select="count(tr[1]/td[@class='bold'])"/>
            
        <
    fo:block>
            <
    fo:table width="100%" padding-after="1cm" >
            
                <
    xsl:for-each select="tr/td">
                    
                <
    xsl:choose>
                      <
    xsl:when test="($Anzahl_td) = 5">
                         <
    fo:table-column  column-width="4cm" />
                      </
    xsl:when>
                      <
    xsl:when test="($Anzahl_td) = 4">
                         <
    fo:table-column  column-width="4.5cm" />
                      </
    xsl:when>
                      <
    xsl:when test="($Anzahl_td) = 3">
                         <
    fo:table-column  column-width="5.5cm" />
                      </
    xsl:when>
                      <
    xsl:when test="($Anzahl_td) = 2">
                         <
    fo:table-column  column-width="6.5cm" />
                      </
    xsl:when>
                      <
    xsl:when test="($Anzahl_td) = 1">
                         <
    fo:table-column  column-width="7cm" />
                      </
    xsl:when>
                    
                      <
    xsl:otherwise>
                         <
    fo:table-column  column-width="1cm" />
                      </
    xsl:otherwise>
                </
    xsl:choose>
                </
    xsl:for-each>
    usw.. 

    Comment

    Working...
    X