XIP und XSLT mit Konvertierungen

Aus SiteparkWiki
Version vom 29. März 2016, 09:04 Uhr von Hying (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „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 hil…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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
Funktion 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


Geo-Koordinaten

Klassenname: com.sitepark.xslt.Geo
Funktion 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>