Announcement

Collapse
No announcement yet.

Tabellen-Attribut dynamisch setzen

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

  • Tabellen-Attribut dynamisch setzen

    Hallo,
    das ist vielleicht eine Anfängerfrage, aber ich komme nicht weiter:

    Ich will die Hintergrundfarbe einer Tabelle dynamisch setzen, in Abhängigkeit von einem Attribut im xml-File. Dazu setze ich eine Variable "color":

    <xsl:choose>
    <xsl:when test="$parent='true'">
    <xsl:variable name="color">"#f0f0f0"</xsl:variable>
    </xsl:when>
    <xsltherwise>
    <xsl:variable name="color">"#f0f080"</xsl:variable>
    </xsltherwise>
    </xsl:choose>

    Bei Benutzung dieser Variable:

    <table border="1" bgcolor="{$color}" style="text-align: center; ">

    kommt der Fehler:
    "Ein Verweis auf Variable oder Parameter 'color' kann nicht gelöst werden. Die Variable bzw. der Parameter ist möglicherweis..." - und dann hörts auf.

    Stimmt die Syntax nicht (habs auch schon ohne geschweifte Klammern probiert..) ?
    Oder geht das gar nicht auf diese Weise ?

    Danke für Eure Hilfe!
    Sheeana

  • #2
    Ansatz:
    Code:
    <xsl:variable name="color">
      <xsl:choose>
        <xsl:when test="$parent='true'">
          <xsl:text>#f0f0f0</xsl:text>
        </xsl:when> 
        <xsl:otherwise>
          <xsl:text>#f0f080</xsl:text>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
    Wazu diese Mischung aus Präsentationsattributen und Inline-Styles? Sinnvoller wären Klassenselektoren im zentralen Stylesheet und Zuweisung von class-Attributen mit Wert über die obige Konstruktion.

    Comment


    • #3
      Hallo Thomas,

      danke - das ist die Lösung.
      Ich wußte nicht, daß man Variable auf diese Weise belegen kann.
      Anfänger eben...

      Comment

      Working...
      X