« XSL-Start

PC-Liste: Überschriften#

../../_images/bluete002.jpg

Lernziel#

Die folgenden Stationen dienen der Vertiefung und Ergänzung. Das Abarbeiten ist all denen zu empfehlen, die noch unsicher und an einem weiteren Beispiel interessiert sind. Am Ende der Aufgabenserie erzeugen Sie aus der XML-Datei eine Tabelle, die etwa so aussieht:

../../_images/loesung-pc-liste2.png

Sie lernen auch noch weitere XSL- und XPATH-Anweisungen kennen.

Handlungsanweisungen#

Neue Aufgaben:
  1. Nummerieren Sie die Positionen für jeden Raum durch.

  2. Geben Sie die Nummern in einer zusätzlichen Spalte aus.

../../_images/peter.png
Zitat:

„Computer sind Genieprothesen.“ – Dieter Hildebrandt

Lösung zur den vorherigen Aufgaben#

  1. Jede Tabelle soll als Überschrift die Raumbezeichnung enthalten.

  2. Platzieren Sie am Anfang eine Gesamtüberschrift.

Am Anfang geben wir eine Gesamtüberschrift aus. Für jedes gefundene „raum“-Element erzeugen wir eine Überschrift und geben als Inhalt den Wert im Attribut bezeichnung aus (Zeilen: 10, 19-21).

 1<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 2<xsl:output method="html"/>
 3<xsl:template match="/">
 4
 5 <html>
 6    <head>
 7      <title>Rechneruebersicht</title>
 8    </head>
 9    <body>
10    <h2>Die Liste aller Rechner</h2>
11    <!--[weitere Regeln abarbeiten] -->
12    <xsl:apply-templates />
13    </body>
14  </html>
15
16</xsl:template>
17
18<xsl:template match="pcliste/raum">
19  <h3>
20    <xsl:value-of select="@bezeichnung"/>
21  </h3>
22
23  <table border="1">
24    <tbody>
25    <tr>
26      <th>Anmerkung</th>
27      <th>Rechner</th>
28      <th>IP</th>
29    </tr>
30    <!--[weitere Regeln abarbeiten] -->
31    <xsl:apply-templates />
32    </tbody>
33  </table>
34
35</xsl:template>
36
37<xsl:template match="rechner">
38    <tr>
39      <xsl:apply-templates />
40    </tr>
41</xsl:template>
42
43<xsl:template match="anmerkung | rechnerip | rechnername">
44      <td>
45        <!--[Zugriff auf den Element-Inhalt] -->
46        <xsl:value-of select="." />
47      </td>
48</xsl:template>
49
50</xsl:stylesheet>