JSON-Transformationen mit XSLT/XQuery
JSON-Zuordnungen, -Arrays und -Objekte können das Ziel von XPath/XQuery 3.1-Ausdrücken sein. JSON-Dokumente können daher mit Hilfe von XSLT 3.0-, XQuery 3.1- und XQuery Update 3.0-Dokumenten mittels der integrierten Prozessoren von XMLSpy transformiert werden.
Es stehen die folgenden Funktionalitäten zur Verfügung:
•Ein aktives JSON-Dokument kann mit Hilfe von XPath/XQuery 3.1-Ausdrücken über das XPath/XQuery-Ausgabefenster abgefragt werden.
•Ein aktives JSON-Dokument kann mit Hilfe einer vom Benutzer ausgewählten XSLT- oder XQuery-Datei transformiert werden.
•Ein aktives XSLT- oder XQuery-Dokument kann an einer vom Benutzer ausgewählten JSON-Quelldatei ausgeführt werden.
Diese Funktionen werden weiter unten ausführlicher beschrieben. Informationen zur Erstellung von XQuery-Ausdrücken für JSON-Dokumente finden Sie im Abschnitt XQuery-Ausdrücke für JSON.
Anmerkung: Sie können JSON-Transformationen mit Hilfe der JSON-, XSLT- und XQuery-Dateien aus dem Ordner JSON Examples des Examples-Projekts aus Ihrem Applikationsordner <%SPYEX-DIR%>\Examples\Examples.spp ausprobieren.
Abfragen eines JSON-Dokuments über das XPath/XQuery-Fenster
JSON-Dokumente können durch Eingabe eines XPath/XQuery 3.1-Ausdrucks im XPath/XQuery-Ausgabefenster (siehe Abbildung unten) abgefragt werden. Wählen Sie entweder das XPath 3.1- oder das XQuery 3.1-Symbol aus und stellen Sie sicher, dass sich das Fenster im JSON-Auswertungsmodus befindet (Erklärung siehe unten).
Die Informationen unten beziehen sich auf die Auswertung von JSON-Dokumenten im JSON-Auswertungsmodus. (Eine Übersicht über das XPath/XQuery-Fenster und ausführliche Informationen zu seiner Verwendung finden Sie im Abschnitt Ausgabefenster: "XPath/XQuery".)
JSON-Auswertungsmodus
Beim JSON-Auswertungsmodus gelten die folgenden Bedingungen:
•Das XPath/XQuery-Fenster befindet sich entweder im XML- oder im JSON-Auswertungsmodus. Welcher Modus gerade aktiv ist, sehen Sie daran, dass die Schaltfläche des aktiven Modus markiert erscheint. Siehe dazu die XML/JSON-Auswertungsmodus-Schaltflächen in der Abbildung oben. In der Abbildung befindet sich das Fenster im JSON-Auswertungsmodus.
•Beachten Sie, dass die Schaltflächen "XML" und "JSON" in der Abbildung oben ausgegraut sind, d.h. sie sind deaktiviert. Wenn die Schaltflächen deaktiviert sind, kann ihr Status - ob aktiviert oder deaktiviert - nicht geändert werden. Wenn die Schaltflächen hingegeben aktiviert (nicht ausgegraut) sind, kann der Auswertungsmodus des Fensters geändert werden.
•Der aktivierte/deaktivierte Status der XML/JSON-Auswertungsmodus-Schaltflächen hängt vom Geltungsbereich der Auswertung ab (dem Wert des Felds "Wo", siehe Abbildung oben). Die Werte für den Geltungsbereich der Auswertung werden zur Ermittlung des aktivierten/deaktivierten Status in zwei Gruppen eingeteilt: (i) Einzelne Datei (aktuelle Datei) und (ii) Mehrere Dateien (Offene Dateien, Projekt, Ordner).
•Wenn als Geltungsbereich der Auswertung eine einzelne Datei (aktuelle Datei) ausgewählt ist (wie in der Abbildung oben), so wird der Modus des Fensters (JSON oder XML) anhand der Dateierweiterung ermittelt. Entweder die Datei ist JSON-konform, dann ist der JSON-Auswertungsmodus aktiviert, oder die Datei ist nicht JSON-konform und der XML-Auswertungsmodus ist eingeschaltet. Da der Dateityp der einzelnen Datei bekannt ist, ist der entsprechende Auswertungsmodus aktiviert und beide Schaltflächen sind deaktiviert, sodass der Modus nicht geändert werden kann.
•Wenn die Option für mehrere Dateien (Offene Dateien, Projekt, Ordner) ausgewählt ist, so sind beide Auswertungsmodus-Schaltflächen aktiviert und der Benutzer kann auswählen, welchen Modus er aktivieren möchte (JSON oder XML). Der Standardauswertungsmodus für den Geltungsbereich für mehrere Dateien ist XML.
•Im XML-Auswertungsmodus werden XML-konforme Dateien verarbeitet und JSON-Dateien übersprungen.
•Im JSON-Auswertungsmodus werden JSON-konforme Dateien verarbeitet und XML-Dateien übersprungen.
•JSON-Ausdrücke können auch im Debug-Modus abgefragt werden.
Transformieren eines JSON-Dokuments mit XSLT/XQuery
Um ein aktives JSON-Dokument mit Hilfe eines XSLT 3.0-, XQuery 3.1- oder XQuery Update 3.0-Dokuments zu transformieren, gehen Sie folgendermaßen vor:
•XSLT 3.0-Tansformation: Klicken Sie auf XSL/XQuery | XSL-Transformation, navigieren Sie zur XSLT 3.0-Datei und klicken Sie auf OK.
•XQuery 3.1- oder XQuery Update 3.0-Transformation: Klicken Sie auf XSL/XQuery | XQuery/Update-Ausführung, navigieren Sie zur XQuery 3.1- oder XQuery Update 3.0-Datei und klicken Sie auf OK.
Die transformierten Dokumente werden generiert und können direkt in XMLSpy angezeigt werden.
Anmerkung: | Der XSLT/XQuery Debugger kann von einem JSON-Dokument aus gestartet werden, Breakpoints und Tracepoints können jedoch nur im XSLT- oder XQuery-Dokument gesetzt werden. |
Bereitstellen eines JSON-Quelldokuments für ein XSLT/XQuery-Dokument
Um ein aktives XSLT- oder XQuery-Dokument an einer JSON-Quelldatei auszuführen, gehen Sie folgendermaßen vor:
•Aktives XSLT 3.0-Dokument: Klicken Sie auf XSL/XQuery | XSL-Transformation, navigieren Sie zur JSON-Datei und klicken Sie auf OK.
•Aktives XQuery 3.1- oder XQuery Update 3.0-Dokument: Klicken Sie auf XSL/XQuery | XQuery/Update-Ausführung, navigieren Sie zur JSON-Datei und klicken Sie auf OK.
Die transformierten Dokumente werden generiert und können direkt in XMLSpy angezeigt werden.
Anmerkung: | Der XSLT/XQuery Debugger kann von einem XSLT- oder XQuery-Dokument aus gestartet werden und es kann ein JSON-Dokument als Input für die Debug-Sitzung zugewiesen werden. Breakpoints und Tracepoints können jedoch nur im XSLT- oder XQuery-Dokument gesetzt werden. |