« XSL-Start

PC-Liste: Nummerieren

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

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

Handlungsanweisungen

Neue Aufgaben:
  1. Heben Sie den Rechner mit dem Namen Feuerbach farblich hervor.
../../_images/peter3.png
Zitat:»Das Werk eines Meisters riecht nicht nach Schweiß, verrät keine Anstrengung und ist von Anfang an fertig.« – James McNeill Whistler

Lösung zu den Aufgaben:

  1. Nummerieren Sie die Positionen für jeden Raum durch.
  2. Geben Sie die Nummern in einer zusätzlichen Spalte aus.

Siehe Zeilen 26, 38-43

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">

 <html>
    <head>
      <title>Rechneruebersicht</title>
    </head>
    <body>
    <h2>Die Liste aller Rechner</h2>
    <!--[weitere Regeln abarbeiten] -->
    <xsl:apply-templates />
    </body>
  </html>

</xsl:template>

<xsl:template match="pcliste/raum">
  <h3>
    <xsl:value-of select="@bezeichnung"/>
  </h3>

  <table border="1">
    <tbody>
    <tr>
      <th>Nummer</th>
      <th>Anmerkung</th>
      <th>Rechner</th>
      <th>IP</th>
    </tr>
    <!--[weitere Regeln abarbeiten] -->
    <xsl:apply-templates />
    </tbody>
  </table>

</xsl:template>

<xsl:template match="rechner">
    <tr>
      <td><xsl:number format="I" count="rechner" /></td>
      <xsl:apply-templates />
    </tr>
</xsl:template>

<xsl:template match="anmerkung | rechnerip | rechnername">
      <td>
        <!--[Zugriff auf den Element-Inhalt] -->
     <xsl:value-of select="." />
      </td>
</xsl:template>

</xsl:stylesheet>

Weil eine neue Spalte benötigt wird, erstellen wir eine neue Überschrift.

Der XSL-Ausdruck xsl:number benötigt zwei Angaben:

  • das Format (I = römische Zahlen)
  • und einen Elementnamen, der gezählt werden soll.

Variieren Sie das Format und prüfen Sie jeweils die Ausgaben.