xsl:mode on-no-match="shallow-copy"
Übung 2
Nutzen Sie den Modus on-no-match="shallow-copy"
, um das city
-Element und das Attribut value
der openWeather.xml in stadt
bzw. wert
zu übersetzen. Der Rest des Dokuments soll unverändert in den Output kopiert werden. Siehe das folgende Code-Beispiel:
Code-Beispiel: Output-Vorgabe zu Übung 2 (Auszug).
<cityWeather>
<current>
<stadt id="2950159" name="Berlin"/>
<TEMP value="284.15" min="284.15" max="284.15" unit="kelvin"/>
<humidity wert="76" unit="%"/>
<pressure wert="1031" unit="hPa"/>
<wind>
<speed wert="3.1" name="Light breeze"/>
<gusts/>
<direction wert="150" code="SSE" name="South-southeast"/>
</wind>
<clouds wert="0" name="clear sky"/>
<visibility/>
<precipitation mode="no"/>
<weather number="800" wert="Sky is Clear" icon="01d"/>
<lastupdate wert="2015-12-08T11:20:00"/>
</current>
...
</cityWeather>
Nach der Transformation wurde city
in stadt
und value
in wert
transformiert.
Verwenden Sie das Transformationsszenario [Übung 2] on-no-match="shallow-copy" (XML >> XML)
(siehe die Erläuterungen zu den Übungen) und die folgende XSLT-Datei:
Code-Beispiel: Stylesheet für Übung 2 zu xsl:mode on-no-match="shallow-copy".
<?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-copy", um das Element city und das Attribut @value umzubenennen. Der Rest der XML-Datei soll unverändert in den Output übernommen werden. -->
<!--TODO: Streaming-Modus und on-no-match definieren.-->
<!--TODO: Entsprechende Templates anlegen.-->
</xsl:stylesheet>
Erweiterung
Schreiben Sie ein weiteres Template, welches das Attribut name
des city
-Elements in ortsname
umbenennt.
Was passiert? Und warum?
Lösung
Das vollständige Output-XML und das Lösungsstylesheet finden Sie unter Lösungen zu Übung 2 — xsl:mode on-no-match="shallow-copy".
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |