xsl:mode on-no-match="shallow-skip"
Übung 3
Die XML-Datei WetterdatenStuttgart.xml soll verschlankt werden. Die Output-Datei soll lediglich das Root-Element year
sowie für jedes month
-Element ein untergeordnetes temperature
-Element beinhalten. Siehe die folgende Output-Datei. Alle anderen Elemente sind nicht mit in die Output-Datei zu übernehmen. Setzen Sie hierfür on-no-match="shallow-skip"
ein.
Code-Beispiel: Output-Vorgabe zu Übung 3 (Auszug).
<year value="2015">
<month name="january">
<temperature min="-2,1" max="3,2" unit="celsius"/>
</month>
<month name="february">
<temperature min="-1,2" max="5,1" unit="celsius"/>
</month>
...
</year>
Die Ergebnis-XML, welche nur die gewünschten Informationen enthält.
Verwenden Sie das Transformationsszenario [Übung 3] on-no-match="shallow-skip" (XML >> XML)
(siehe die Erläuterungen zu den Übungen) und die folgende XSLT-Datei:
Code-Beispiel: Stylesheet für Übung 3 zu xsl:mode on-no-match="shallow-skip".
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-prefixes="xs math" version="3.0">
<!--AUFGABE: Nutzen Sie on-no-match="shallow-skip", um nur die Elemente year, month und temperature der XML-Datei in den Output zu übernehmen.-->
<!--TODO: Streaming-Modus und on-no-match definieren.-->
<xsl:output indent="yes" />
<!--TODO: Entsprechende Templates anlegen.-->
</xsl:stylesheet>
Erweiterung
Ersetzen Sie shallow-skip
durch deep-skip
.
Was ändert sich dadurch am Output? Und warum?
Lösung
Das vollständige Output-XML und das Lösungsstylesheet finden Sie unter Lösungen zu Übung 3 — xsl:mode on-no-match="shallow-skip".
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |