XIP und XSLT mit Konvertierungen
Während der Importe kann es nötig sein verschiedene Werte wie Geo Koordinaten oder die Angabe eines Datum umzurechnen. Die folgenden Funktionen können hier hilfreich sein.
Datum
Klassenname: com.sitepark.xslt.Date
Funktionen | Bedeutung |
convert(inputFormat, outpuFormat, datum) | Konvertiert das übergebene Datum vom angegebenen inputFormat in das gewünschte OutputFormat |
convert(inputFormat, inputTimezone, outpuFormat, outputTimeZone, datum)) | Konvertiert das übergebene Datum vom angegebenen inputFormat in das gewünschte outputFormat auf Basis der angegebenen Zeitzonen |
utcMilliseconds(inputFormat, date) | Konvertiert das formatierte Datum zu Millisekunden |
utcMilliseconds(inputFormat, inTimezone, date) | Konvertiert das formatierte Datum der angegebenen Zeitzone zu Millisekunden |
Geo-Koordinaten
Klassenname: com.sitepark.xslt.Geo
Funktionen | Bedeutung |
toDouble | Hilfsfunktion, um numerische Werte als Double darzustellen/zu übergeben. |
dhdnToWgs84GeoJson(String epsg, String west, String north) | Gauß-Krüger-Koordinaten im GeoJson-Format |
dhdnToWgs84Wkt(String epsg, String west, String north) | Gauß-Krüger-Koordinaten im Wkt-Format |
utmToWgs84GeoJson(String epsg, String west, String north) { | Utm-Koordinaten im GeoJson-Format |
utmToWgs84Wkt(String epsg, String west, String north) | Utm-Koordinaten im Wkt-Format |
wgs84GeoJson(String lat, String lng) | Lon, Lat Werte im GeoJson-Format |
wgs84Wkt(String lat, String lng) | Lon, Lat Werte im Wkt-Format |
Beispiel-XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:geo="com.sitepark.xslt.Geo"
xmlns:date="com.sitepark.xslt.Date" >
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:variable name="solrDateFormat">yyyy-MM-dd'T'HH:mm:ss'Z'</xsl:variable>
<xsl:template match="/">
<!-- Datumsberechnungen mit den xml-Daten 'DATES/STARTDATE' -->
<field name="sp_date"><xsl:value-of select="date:convert('yyyy-MM-dd','Europe/Berlin',$solrDateFormat, 'Zulu', DATES/STARTDATE)" /></field>
<!-- Geo-Umrechnungen mit den xml-Daten 'LOCATION/LONGITUDE' und 'LOCATION/LATITUDE' -->
<field name="sp_jsondata_geo"><xsl:value-of select="geo:wgs84GeoJson(LOCATION/LONGITUDE, LOCATION/LATITUDE)" /></field>
<field name="sp_geo_points"><xsl:value-of select="geo:wgs84Wkt(LOCATION/LONGITUDE, LOCATION/LATITUDE)" /></field>
</xsl:template>
</xsl:stylesheet>