XIP und XSLT mit Konvertierungen
Version vom 29. März 2016, 08:07 Uhr von Hying (Diskussion | Beiträge)
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 |
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>