Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

XSLT Tabelle ohne Daten-Problem!

Hallo!

Ich hab in meiner XML Datei einen Bereich über den Bereich Praxis mit drei Praktikumseinträgen und als attributen jeweils Dauer und die Tätigkeit.

<Praxis>
<Praktikum Dauer="01/1997" Tätigkeit="Bezirksamt Marzahn - Ausländerbeauftragte"/>
<Praktikum Dauer="08/2002" Tätigkeit="Bahnbau - Rechnungswesen / Controlling"/>
<Praktikum Dauer="03/2003" Tätigkeit="Bahn-BKK - Marketing / Vertrieb"/>
</Praxis>

Nun möchte ich daraus in XSLT eine Tabelle machen. Aber irgendwie komme ich nicht ganz zurecht. Ich kann zwar die Tabellenüberschriften Dauer und Tätigkeit erzeugen, aber die Attribute dazu werden nicht eingetragen. Wie müßte der folgende Code richtig lauten bzw. wo liegt mein Fehler?

<xsl:template match="Lebenslauf/Praxis">
<p><font color="red"><h2>Praxis</h2></font></p>
<table border="1" width="400">
<tr>
<td>Dauer</td>
<td>Tätigkeit</td>
</tr>
<tr><xsl:for-each select="Lebenslauf/Praxis/Praktikum">
<td><xsl:value-of select="@Dauer"/></td>
<td><xsl:value-of select="@Tätigkeit"/></td>
</xsl:for-each>
</tr>
</table>
</xsl:template>

Danke für die Hilfe!

Tina


Antworten zu XSLT Tabelle ohne Daten-Problem!:

Hi Tina,

benutze folgenden XSL-Code

<xsl:template match="Lebenslauf/Praxis">
<p><font color="red"><h2>Praxis</h2></font></p>
<table border="1" width="400">
<tr>
<td>Dauer</td>
<td>Tätigkeit</td>
</tr>
<tr><xsl:for-each select="Praktikum">
<td><xsl:value-of select="@Dauer"/></td>
<td><xsl:value-of select="@Tätigkeit"/></td>
</xsl:for-each>
</tr>
</table>
</xsl:template>

oder alternativ
<xsl:template match="/">
<p><font color="red"><h2>Praxis</h2></font></p>
<table border="1" width="400">
<tr>
<td>Dauer</td>
<td>Tätigkeit</td>
</tr>
<tr><xsl:for-each select="Lebenslauf/Praxis/Praktikum">
<td><xsl:value-of select="@Dauer"/></td>
<td><xsl:value-of select="@Tätigkeit"/></td>
</xsl:for-each>
</tr>
</table>
</xsl:template>

Die <tr></tr> sollten besser in die Schleife einbezogen werden, da sonst die Ausgabe der Praktika in einer Zeile nacheinander ausgegeben werden.

Ausserdem muß im XML das Element <Lebenslauf> das restliche XML umklammern.

<Lebenslauf>
<Praxis>
   <Praktikum Dauer="01/1997" Tätigkeit="Bezirksamt Marzahn - Auslaenderbeauftragte"/>
   <Praktikum Dauer="08/2002" Tätigkeit="Bahnbau - Rechnungswesen / Controlling"/>
   <Praktikum Dauer="03/2003" Tätigkeit="Bahn-BKK - Marketing / Vertrieb"/>
</Praxis>
</Lebenslauf>

Als Encoding "ISO-8859-1" einstellen.

Dann funzt alles bestens...

Micha


« Programmierung!!" c++ " Newbie ... »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
XML
Die Extensible Markup Language (englisch für erweiterbare Auszeichnungssprache), kurz XML, ist eine Auszeichnungssprache zur Darstellung hierachisch strukturierter T...

Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...