Forum
Tipps
News
Menu-Icon

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

Word Tabelle einfügen!
Chrome Screenshot von ganzer Webseite (keine Plugins nötig!)
Screenshot von ganzer Webseite machen – mit nur 3 Klicks!
Edge Browser: Google als Startseite (oder andere Webseiten!)
ZIP Archiv erstellen – Daten komprimieren!

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


90 % der Excel Nutzer kennen diese Tricks nicht – und brauchen ewig für eine #Tabelle! #excel
ChatGPT Cheat Codes: So nutzt du die KI wie ein Profi!