Lösungen zu Übung 1 — xsl:mode on-no-match="fail"

Im Folgenden finden Sie die Lösungsdateien zu Übung 1 unter xsl:mode on-no-match="fail".

Code-Beispiel: Lösungs-XSLT zu Übung 1.

<?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">
  <xsl:mode streamable="yes" on-no-match="fail"/>
  <!--Rootelement-->
  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="text()">
    <xsl:copy-of select="."/>
  </xsl:template>
  <!--Knoten umbennenen-->
  <xsl:template match="cityWeather">
    <wetterdaten>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </wetterdaten>
  </xsl:template>
  <xsl:template match="current">
    <element>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </element>
  </xsl:template>
  <xsl:template match="city">
    <stadt>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </stadt>
  </xsl:template>
  <xsl:template match="coord">
    <koordinaten>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </koordinaten>
  </xsl:template>
  <xsl:template match="country">
    <Land>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </Land>
  </xsl:template>
  <xsl:template match="sun">
    <sonne>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </sonne>
  </xsl:template>
  <xsl:template match="temperature">
    <temperatur>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </temperatur>
  </xsl:template>
  <xsl:template match="humidity">
    <luftfeuchtigkeit>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </luftfeuchtigkeit>
  </xsl:template>
  <xsl:template match="pressure">
    <luftdruck>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </luftdruck>
  </xsl:template>
  <xsl:template match="wind">
    <wind>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </wind>
  </xsl:template>
  <xsl:template match="speed">
    <Geschwindigkeit>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </Geschwindigkeit>
  </xsl:template>
  <xsl:template match="gusts">
    <boeen>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </boeen>
  </xsl:template>
  <xsl:template match="direction">
    <richtung>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </richtung>
  </xsl:template>
  <xsl:template match="clouds">
    <wolken>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </wolken>
  </xsl:template>
  <xsl:template match="visibility">
    <sicht>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </sicht>
  </xsl:template>
  <xsl:template match="precipitation">
    <faellung>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </faellung>
  </xsl:template>
  <xsl:template match="weather">
    <wetter>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </wetter>
  </xsl:template>
  <xsl:template match="lastupdate">
    <zeitpunkt>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </zeitpunkt>
  </xsl:template>
</xsl:stylesheet>

Code-Beispiel: Vollständiges Output-XML zu Übung 1.

<?xml version="1.0" encoding="UTF-8"?>
<wetterdaten>
  <element>
    <stadt id="2950159" name="Berlin">
      <koordinaten lon="13.41" lat="52.52"/>
      <Land>DE</Land>
      <sonne rise="2015-12-08T07:03:45" set="2015-12-08T14:52:40"/>
    </stadt>
    <temperatur value="284.15" min="284.15" max="284.15" unit="kelvin"/>
    <luftfeuchtigkeit value="76" unit="%"/>
    <luftdruck value="1031" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="3.1" name="Light breeze"/>
      <boeen/>
      <richtung value="150" code="SSE" name="South-southeast"/>
    </wind>
    <wolken value="0" name="clear sky"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="800" value="Sky is Clear" icon="01d"/>
    <zeitpunkt value="2015-12-08T11:20:00"/>
  </element>
  <element>
    <stadt id="2643743" name="London">
      <koordinaten lon="-0.13" lat="51.51"/>
      <Land>GB</Land>
      <sonne rise="2015-12-08T07:52:55" set="2015-12-08T15:51:52"/>
    </stadt>
    <temperatur value="286.29" min="286.15" max="287.15" unit="kelvin"/>
    <luftfeuchtigkeit value="82" unit="%"/>
    <luftdruck value="1020" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="5.1" name="Gentle Breeze"/>
      <boeen/>
      <richtung value="210" code="SSW" name="South-southwest"/>
    </wind>
    <wolken value="20" name="few clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="500" value="light rain" icon="10d"/>
    <zeitpunkt value="2015-12-08T11:50:00"/>
  </element>
  <element>
    <stadt id="2988507" name="Paris">
      <koordinaten lon="2.35" lat="48.85"/>
      <Land>FR</Land>
      <sonne rise="2015-12-08T07:30:55" set="2015-12-08T15:54:02"/>
    </stadt>
    <temperatur value="283.15" min="282.15" max="284.15" unit="kelvin"/>
    <luftfeuchtigkeit value="81" unit="%"/>
    <luftdruck value="1028" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="2.6" name="Light breeze"/>
      <boeen/>
      <richtung value="190" code="S" name="South"/>
    </wind>
    <wolken value="75" name="broken clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="803" value="broken clouds" icon="04d"/>
    <zeitpunkt value="2015-12-08T11:00:00"/>
  </element>
  <element>
    <stadt id="2825297" name="Stuttgart">
      <koordinaten lon="9.18" lat="48.78"/>
      <Land>DE</Land>
      <sonne rise="2015-12-08T07:03:19" set="2015-12-08T15:27:00"/>
    </stadt>
    <temperatur value="281.39" min="280.15" max="282.15" unit="kelvin"/>
    <luftfeuchtigkeit value="87" unit="%"/>
    <luftdruck value="1031" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="1.5" name="Calm"/>
      <boeen/>
      <richtung value="130" code="SE" name="SouthEast"/>
    </wind>
    <wolken value="0" name="clear sky"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="800" value="Sky is Clear" icon="01d"/>
    <zeitpunkt value="2015-12-08T11:50:00"/>
  </element>
  <element>
    <stadt id="3054643" name="Budapest">
      <koordinaten lon="19.04" lat="47.5"/>
      <Land>HU</Land>
      <sonne rise="2015-12-08T06:18:35" set="2015-12-08T14:52:49"/>
    </stadt>
    <temperatur value="278.15" min="278.15" max="278.15" unit="kelvin"/>
    <luftfeuchtigkeit value="93" unit="%"/>
    <luftdruck value="1038" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="2.1" name="Light breeze"/>
      <boeen/>
      <richtung value="100" code="E" name="East"/>
    </wind>
    <wolken value="90" name="overcast clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="701" value="mist" icon="50d"/>
    <zeitpunkt value="2015-12-08T11:00:00"/>
  </element>
  <element>
    <stadt id="2673730" name="Stockholm">
      <koordinaten lon="18.06" lat="59.33"/>
      <Land>SE</Land>
      <sonne rise="2015-12-08T07:29:45" set="2015-12-08T13:49:25"/>
    </stadt>
    <temperatur value="276.09" min="275.15" max="277.15" unit="kelvin"/>
    <luftfeuchtigkeit value="89" unit="%"/>
    <luftdruck value="1030" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="2.6" name="Light breeze"/>
      <boeen/>
      <richtung value="180" code="S" name="South"/>
    </wind>
    <wolken value="0" name="clear sky"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="800" value="Sky is Clear" icon="01d"/>
    <zeitpunkt value="2015-12-08T11:50:00"/>
  </element>
  <element>
    <stadt id="3143244" name="Oslo">
      <koordinaten lon="10.75" lat="59.91"/>
      <Land>NO</Land>
      <sonne rise="2015-12-08T08:04:05" set="2015-12-08T14:13:36"/>
    </stadt>
    <temperatur value="273.15" min="273.15" max="273.15" unit="kelvin"/>
    <luftfeuchtigkeit value="98" unit="%"/>
    <luftdruck value="1023" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="0.5" name="Calm"/>
      <boeen/>
      <richtung value="0" code="N" name="North"/>
    </wind>
    <wolken value="75" name="broken clouds"/>
    <sicht value="1600"/>
    <faellung mode="no"/>
    <wetter number="701" value="mist" icon="50d"/>
    <zeitpunkt value="2015-12-08T11:20:00"/>
  </element>
  <element>
    <stadt id="3143244" name="Oslo">
      <koordinaten lon="10.75" lat="59.91"/>
      <Land>NO</Land>
      <sonne rise="2015-12-08T08:04:05" set="2015-12-08T14:13:36"/>
    </stadt>
    <temperatur value="273.15" min="273.15" max="273.15" unit="kelvin"/>
    <luftfeuchtigkeit value="98" unit="%"/>
    <luftdruck value="1023" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="0.5" name="Calm"/>
      <boeen/>
      <richtung value="0" code="N" name="North"/>
    </wind>
    <wolken value="75" name="broken clouds"/>
    <sicht value="1600"/>
    <faellung mode="no"/>
    <wetter number="701" value="mist" icon="50d"/>
    <zeitpunkt value="2015-12-08T11:20:00"/>
  </element>
  <element>
    <stadt id="2661552" name="Bern">
      <koordinaten lon="7.45" lat="46.95"/>
      <Land>CH</Land>
      <sonne rise="2015-12-08T07:02:51" set="2015-12-08T15:41:19"/>
    </stadt>
    <temperatur value="276.47" min="276.15" max="277.15" unit="kelvin"/>
    <luftfeuchtigkeit value="100" unit="%"/>
    <luftdruck value="1033" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="1.5" name="Calm"/>
      <boeen/>
      <richtung value="0" code="N" name="North"/>
    </wind>
    <wolken value="75" name="broken clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="701" value="mist" icon="50d"/>
    <zeitpunkt value="2015-12-08T12:20:00"/>
  </element>
  <element>
    <stadt id="2761367" name="Wien">
      <koordinaten lon="16.37" lat="48.21"/>
      <Land>AT</Land>
      <sonne rise="2015-12-08T06:32:10" set="2015-12-08T15:00:37"/>
    </stadt>
    <temperatur value="276.15" min="276.15" max="276.15" unit="kelvin"/>
    <luftfeuchtigkeit value="100" unit="%"/>
    <luftdruck value="1035" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="8.2" name="Fresh Breeze"/>
      <boeen/>
      <richtung value="140" code="SE" name="SouthEast"/>
    </wind>
    <wolken value="90" name="overcast clouds"/>
    <sicht value="600"/>
    <faellung mode="no"/>
    <wetter number="741" value="fog" icon="50d"/>
    <zeitpunkt value="2015-12-08T11:50:00"/>
  </element>
  <element>
    <stadt id="524901" name="Moscow">
      <koordinaten lon="37.62" lat="55.75"/>
      <Land>RU</Land>
      <sonne rise="2015-12-08T05:45:17" set="2015-12-08T12:57:24"/>
    </stadt>
    <temperatur value="275.9" min="275.15" max="276.15" unit="kelvin"/>
    <luftfeuchtigkeit value="59" unit="%"/>
    <luftdruck value="1019" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="11" name="Strong breeze"/>
      <boeen value="17"/>
      <richtung value="300" code="WNW" name="West-northwest"/>
    </wind>
    <wolken value="75" name="broken clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="803" value="broken clouds" icon="04d"/>
    <zeitpunkt value="2015-12-08T11:30:00"/>
  </element>
  <element>
    <stadt id="6949461" name="Kopenhagen">
      <koordinaten lon="12.57" lat="55.68"/>
      <Land>DK</Land>
      <sonne rise="2015-12-08T07:25:08" set="2015-12-08T14:38:01"/>
    </stadt>
    <temperatur value="281.42" min="281.15" max="282.15" unit="kelvin"/>
    <luftfeuchtigkeit value="100" unit="%"/>
    <luftdruck value="1029" unit="hPa"/>
    <wind>
      <Geschwindigkeit value="6.7" name="Moderate breeze"/>
      <boeen/>
      <richtung value="170" code="S" name="South"/>
    </wind>
    <wolken value="90" name="overcast clouds"/>
    <sicht/>
    <faellung mode="no"/>
    <wetter number="701" value="mist" icon="50d"/>
    <zeitpunkt value="2015-12-08T12:20:00"/>
  </element>
</wetterdaten>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: