Problem mit Bedingung und HTML-Code
Frank
- xsl
0 Thorsten F.0 Frank
0 MudGuard
Hallo Leute,
ich bin dabei mich in XML/XSL(T) einzuarbeiten.
Nun wollte ich eine entspr. Tabelle füllen,
aber bekomme immer wieder einen Fehler, wenn ich die Seite aufrufe.
So sieht mein XSL-Bereich aus:
xsl:choose
<xsl:when test="chargen_status = 'CHG_BLOCK'">
<xsl:value-of select="."/> <tr style="color: red; font-family: Tahoma; font-size: 8pt;"/>
</xsl:when>
xsl:otherwise
<xsl:value-of select="."/> <tr style="color: black; font-family: Tahoma; font-size: 8pt;"/>
</xsl:otherwise>
</xsl:choose>
Möchte gerne den oberen <tr> ausgeben, wenn chargen_status = 'CHG_BLOCK' ist und ansonsten den anderen tr.
Nur leider bekomme ich das nicht hin, es erscheint immer folgende Meldung:
Nicht übereinstimmendes Tag. Erwartet: </tr>. <<
Wohlmöglich liegt es daran, dass man kein HTML-Tag ausgeben kann oder ?
Könnt ihr mir eine Lösung verraten, mit dem ich das hinbekomme ?
Hab etliche Bücher durchforstet und auch bei google geschaut, leider ohne Erfolg. :-(
Bitte helft mir, ist wirklich wichtig und dringend.
Mfg
Hi,
Nicht übereinstimmendes Tag. Erwartet: </tr>. <<
Ich glaube du kannst in xsl nicht nicht so arbeiten, dass du ein HTML-Element aufmachst und sofort wieder schließt, also so <tr />.
Der erwartet, dass du das <tr> "anders" zumachst:
Aufmachen: <tr>
Textrein: blacschwall
Zumachen: </tr>
Habe das bis jetzt immer so gemacht und nie Probleme gehabt.
Grüße,
Thorsten F.
Hi,
Nicht übereinstimmendes Tag. Erwartet: </tr>. <<
Ich glaube du kannst in xsl nicht nicht so arbeiten, dass du ein HTML-Element aufmachst und sofort wieder schließt, also so <tr />.
Der erwartet, dass du das <tr> "anders" zumachst:
Aufmachen: <tr>
Textrein: blacschwall
Zumachen: </tr>Habe das bis jetzt immer so gemacht und nie Probleme gehabt.
Grüße,
Thorsten F.
ja gut, das ist klar.
Das Problem ist, dass danach noch <td>s kommen und erst dann das <tr> geschlossen wird.
Hi,
xsl:choose
<xsl:when test="chargen_status = 'CHG_BLOCK'">
<xsl:value-of select="."/> <tr style="color: red; font-family: Tahoma; font-size: 8pt;"/>
</xsl:when>
xsl:otherwise
<xsl:value-of select="."/> <tr style="color: black; font-family: Tahoma; font-size: 8pt;"/>
</xsl:otherwise>
</xsl:choose>
Du willst tr-Elemente ohne jeglichen Inhalt ausgeben?
Wohl eher nicht.
Du kannst per XSL nicht tags erzeugen, nur Elemente.
Du kannst einem Element Attribute hinzufügen.
also
...
<tr>
<xsl:attribute name="style">
xsl:choose
<xsl:when test="Deine Bedingung">Wert des Attributs</xsl:when>
xsl:otherwiseAnderer Wert des Attributs</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<!-- was auch immer in die tr rein soll, kommt hier hin -->
</tr>
...
Nur leider bekomme ich das nicht hin, es erscheint immer folgende Meldung:
Nicht übereinstimmendes Tag. Erwartet: </tr>. <<
Natürlich. Es ist ja auch kein tr mehr offen - Du hast die tr ja sofort wieder geschlossen per />
Wohlmöglich liegt es daran, dass man kein HTML-Tag ausgeben kann oder ?
Nein, nur Elemente.
cu,
Andreas