XSLT Transformation

Die hier beschriebenen Möglichkeiten zur Erstellung einer Transformationsdatei (XSLT), welche eine XML-Quelldatei in ein Ergebnisdokument (XML,HTML,PDF) transformiert, sind allgemein gültig für alle cardo-Module, welche Transformationen unterstützen:

Auf modulspezifische Funktionen wird nachfolgend explizit hingewiesen.

neu ab Version 3.9.1.42724

Ab dieser Version werden die Angaben in der XSLT zur Erstellung von Kartenbildern gegenüber dem http://webs.idu.de/xsdschemas/Iwan/iXRH.xsd - Schema validiert! Invalide Angaben führen zum Abbruch.

Ein typisches Problem, das damit zutage tritt, ist das Fehlen der BBox im RenderMap - Knoten. Fügen Sie in diesem Fall eine beliebige Dummy-BBox ein (bspw. <iXRH:BBox epsgCode="25833" xmin="409330" ymin="5648957" xmax="483007" ymax="5714401"/>), auch wenn die BBox anschließend mithilfe der Erweiterungsfunktionen noch überschrieben wird.

neu ab Version 3.8.5.

Im Erweiterungsobjekt iduCore, das in den XSLTs üblicherweise als 'cardoExtension' eingebettet ist, gibt es neue Funktionen zur Ermittlung von Geometrieparametern: GetGeomLength, GetGeomPerimeter und GetGeomArea

Überblick

Das Erstellen einer XSLT-Datei erfordert Kenntnisse in XSLT, welches ein allgemeiner Standard ist. Entsprechend sind im Internet jede Menge Einführungen, Tutorials und Hilfeseiten zu finden. Nachfolgend werden hauptsächlich cardo-spezifische Erweiterungen und Besonderheiten beschrieben.

Hinweis: Der Standard XSLT wurde weiterentwickelt, in cardo wird die Version XSLT 1.0 verwendet. Beachten Sie, dass entsprechend in der Transformationsdatei auch nur die Möglichkeiten dieser Version unterstützt werden.
 

Eine Transformationsdatei transformiert ein XML-Ausgangsdokument in ein Ergebnisdokument. Wie das Ausgangsdokument aussieht, ist modulspezifisch:

  • Button: Ergebnis-XML eines ausgeführten Buttonplans
  • Puzzle: das Puzzledokument in XML-Form
  • Metadatenansicht und Infothek: internes Metadatendokument in cardo-eigenem XML-Format (einsehbar über Metadatenanzeige)

Eine Transformationsdatei sollte in einem passenden Editor erstellt werden, der entsprechende Validierung und Vorschlagslisten unterstützt.

Die Transformationsdatei muss an einer modulspezifischen Stelle abgelegt werden, damit cardo die Datei nutzen kann:

  • Button: im selben Verzeichnis wie der Buttonplan (VDirManager)
  • Puzzle: im Projektverzeichnis als Überschreibung/Ergänzung einer cardo-eigenen Transformation
  • Metadaten: im Projektverzeichnis als Überschreibung/Ergänzung einer cardo-eigenen Transformation
  • Infothek: analog wie Metadaten (Beschreibung für die Infothek)

Und auch die Ausführung der Transformation geschieht modulspezifisch und an verschiedenen Stellen:

  • Button: über die Button-App oder einen Webservice
  • Puzzle: indem eine entsprechende Ansicht im Puzzleeditor gewählt wird
  • Metadaten: Auswahl der entsprechenden Ansicht in der Metadatenanzeige, Validierung im Metadateneditor und beim Export der Metadaten zum CSW
  • Infothek: Aufruf der Infothek-Webseite

In Transformationsdateien können cardo-spezifische Erweiterungsfunktionen eingebunden und verwendet werden.