OpenWeatherMap

Es gibt dabei zwei verschiedene Demodatensäte:

openWeather.xml

Die Datei openWeather.xml ist eine Sammlung mit vielen Wettereinträgen für verschiedene Städte. Sie wird für die Übungen 1 (xsl:mode on-no-match="fail"), 2 (xsl:mode on-no-match="shallow-copy") und 6 (Wetterbericht) benötigt.

Die Datei enthält ein Wetterelement (<cityWeather>). In der Datei werden verschiedene Informationen wie Stadtname, Koordinaten, Länderkennung, Zeiten für Sonnenauf und -untergang, Temperaturwert und -einheit etc. angegeben. Diese Informationen werden für jedes Wetterelement durch das umgebende <current>-Element zugeordnet. Es sind beliebig viele <current>-Elemente möglich. Sie beinhalten sämtliche Informationen für das Wetter an einem bestimmten Ort.

Code-Beispiel: openWeather.xml.

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

Sammlung beliebig vieler Wetterdaten unterscheidlicher Städte in einer Datei.

Die folgende CSS-Datei wird für Übung 6 (Wetterbericht) benötigt.

Code-Beispiel: styles.css.

*{
  font-family:arial, helvetica, sans-serif;
}

.city{
  background-color:#eeeeee;
  padding:1em;
  margin-bottom:2em;
  width:70%;
}

.map{
  width:100%;
  height:20em;
  margin-bottom:.5em;
}

div.sun{
  float:right;
  line-height:.5em;
}

div.sun:before{
  width:50px;
  height:50px;
  content:url(sonne.png);
}

div.temperature{
  line-height:.5em;
}

div.temperature:before{
  width:50px;
  height:50px;
  content:url(thermometer.png);
}

.lastUpdate{
  font-size:.75em;
  font-style:italic;
}

WetterdatenStuttgart.xml

Die Datei WetterdatenStuttgart.xml enthält beliebig viele Monats-Elemente, die entsprechend von einem <year>-Element umgeben sind. Die <month>-Elemente enthalten Informationen zur Min. und Max. Temperatur sowie zur Regenmenge. Diese Datei wird in den Übungen 3 (xsl:mode on-no-match="shallow-skip") und 9 (Temperaturkurve Stuttgart 2015) benötigt.

Code-Beispiel: WetterdatenStuttgart.xml.

<?xml version="1.0" encoding="UTF-8"?>
<year value="2015">
  <month name="january">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="-2,1" max="3,2" unit="celsius"/>
    <raining value="38" unit ="mm"/>
  </month>
  <month name="february">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="-1,2" max="5,1" unit="celsius"/>
    <raining value="35" unit ="mm"/>
  </month>
  <month name="march">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="1,5" max="9,2" unit="celsius"/>
    <raining value="39" unit ="mm"/>
  </month>
  <month name="april">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="4,5" max="13,5" unit="celsius"/>
    <raining value="54" unit ="mm"/>
  </month>
  <month name="may">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="8,5" max="18" unit="celsius"/>
    <raining value="84" unit ="mm"/>
  </month>
  <month name="june">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="11,7" max="21" unit="celsius"/>
    <raining value="93" unit ="mm"/>
  </month>
  <month name="july">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="13,5" max="23,3" unit="celsius"/>
    <raining value="63" unit ="mm"/>
  </month>
  <month name="august">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="13,3" max="23" unit="celsius"/>
    <raining value="76" unit ="mm"/>
  </month>
  <month name="september">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="10,4" max="19,8" unit="celsius"/>
    <raining value="53" unit ="mm"/>
  </month>
  <month name="october">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="6,4" max="14,5" unit="celsius"/>
    <raining value="41" unit ="mm"/>
  </month>
  <month name="november">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="1,9" max="8" unit="celsius"/>
    <raining value="48" unit ="mm"/>
  </month>
  <month name="december">
    <city id="2825297" name="Stuttgart">
      <coord lon="9.18" lat="48.78"/>
      <country>DE</country>
    </city>
    <temperature min="-1" max="4,1" unit="celsius"/>
    <raining value="41" unit ="mm"/>
  </month>
</year>

Sammlung beliebig vieler Jahre samt Monaten für eine Stadt in einer Datei für Wetterdaten.

Zeile 3: Monats-Elemente der Stadt "Stuttgart" für <year value="2015">. Es sind genau zwölf <month>-Elemente in einem <year>-Element möglich. Jedes Monats-Element enthält Informationen wie Stadt, Koordinaten, Land, Temperatur und Regenmenge zu einem Monat.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: