Zuletzt bearbeitet vor 2 Jahren
von Daniel Quathamer

Maschinenlesbare Schnittstellen für Ergebnistabellen: Unterschied zwischen den Versionen

 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Es ist geplant, mit SuperX eine REST-Schnittstelle für Ergebnistabellen anzubieten. Bis dahin können Sie auch mit der XML-Schnittstelle arbeiten.
=XML-Schnittstelle=
=XMLSchnittstelle=
Derzeit bieten wir einen XML-Export, der sich leicht weiterverarbeiten läßt. XML ist seit vielen Jahren ein beliebtes Austauschformat für komplexere Datenbereiche, und hat sich in der B2B-Kommunikation bewährt, z.B. die XRechnung. Wir nutzen XML in SuperX seit 2001, jeder Standardbericht läßt sich in der Benutzeroberfläche  als XML [[SuperX-Benutzungshandbuch_Basics#Exporte|exportieren]]. Darüber hinaus können Sie den Abruf auch automatisieren.
== Aufruf über http==
== Aufruf über http==
* Deeplink der Ergebnistabelle erzeugen
* Deeplink der Ergebnistabelle erzeugen
* Download mit wget oder curl, dabei Übergabe von den Parametern:
* Download mit wget oder curl, dabei Übergabe von den Parametern:
** benutzer = Benutzerkennung
** kennung = Benutzerkennung
** passwort = Passwort
** passwort = Passwort
** contenttype=text/xml
** contenttype=text/xml
** stylesheet=tabelle_xml.xsl
** stylesheet=tabelle_xml.xsl
Beispiel unter Linux für die Maske 16000 Studierende und Studienanfänger nach Geschlecht:
wget -O test.xml 'https://mein-superx-server/superx/servlet/SuperXmlTabelle?tid=16000&kennung=public&passwort=1234567&contenttype=text/xml&stylesheet=tabelle_xml.xsl'
Unter Windows/DOS kann man das Binary-Paket [https://eternallybored.org/misc/wget/ wget installieren] und dann so starten:
wget -O test.xml "https://mein-superx-server/superx/servlet/SuperXmlTabelle?tid=16000&kennung=public&passwort=1234567&contenttype=text/xml&stylesheet=tabelle_xml.xsl"


==Beschreibung des XML-Formats==
==Beschreibung des XML-Formats==
Die Ergebnistabelle ist hierarchisch strukturiert, unterhalb des Root-Elements sind 1-n "ergebniselemente" verfügbar. Diese wiederum enthalten im Abschnitt
{{Hinweis|Das XML-Format hat ein [http://www.superx-projekt.de/doku/kern_modul/xml_schema/superx_ergebnisse.xsd Schema], das [http://www.superx-projekt.de/doku/kern_modul/xml_schema/superx_ergebnisse_schema_documentation.html hier] technisch dokumentiert ist. }}
* felder: die jeweilige Legende der Selektion
* header: die Spaltenüberschriften
*sqlerg: das tabellearische Ergebnis, mit
** row-Elementen für die Zeilen, und
** col-Elementen für die Spalten und somit Zellen


#hier Screenshot XML-Baum jedit
<blockquote>
Dieser Abschnitt befasst sich mit den wesentlichen Elementen der XML-Schnittstelle. Der Editor [http://www.jedit.org/ Jedit] liefert einen übersichtlichen Baum zur Navigation in XML-Dateien:


Im generischen Standardlayout würde die erste Zeile z.B. so aussehen:
{{ImagePara |imgsrc=XML_Schnittstelle_Uebersicht.png|width=400|caption=XML Navigation in Jedit}}
 
Hierbei handelt es sich um die XML der Ergebnistabelle des Berichtes "Studierende nach Erst- und Neueinschreibung (Zeitreihe)":
 
{{ImagePara |imgsrc=Ergebnistabelle_Stud_ErstNeuEinschr_Zeitr.png|width=700|caption=Ergebnistabelle des Berichtes "Studierende nach Erst- und Neueinschreibung (Zeitreihe)"}}
</blockquote>
 
<blockquote>
Die Ergebnistabelle ist hierarchisch strukturiert, unterhalb des Root-Elements sind 1-n ergebnis-Elemente verfügbar.  Das Element felder enthält jene Felder, welcher für die Selektion genutzt wurden. Das Element completefields enthält alle Felder der jeweiligen Auswahlmaske:
 
{{ImagePara |imgsrc=XML_Schnittstelle_Felder.png|width=400|caption=Das Element felder}}
</blockquote>
 
 
<blockquote>
Das Element headers enthält die Spaltenüberschriften der Ergebnistabelle:
 
{{ImagePara |imgsrc=XML_Schnittstelle_Header.png|width=400|caption=Das Element headers}}
</blockquote>
 
<blockquote>
Das Element row und sein Unterelement col enthalten die Werte der Ergebnistabelle:
 
{{ImagePara |imgsrc=XML_Schnittstelle_Row_Col.png|width=400|caption=Die Elemente row und col}}
 
Dem Beispiel entsprechend gibt es 4 row-Elemente und 13 col-Elemente.
 
Das Attribut typ innerhalb der col-Elemente definiert den Datentyp:
 
*1=string (Default)
*3=DecimalFormat
*4=integer
*6=date
*8=timestamp
*9=time
 
</blockquote>
 
{{Achtung|Es wird mit amerikanischem Zahlenformat gearbeitet (Punkt als Dezimaltrenner).
 
Das Datumsformat ist dd.MM.yyyy}}


#screenshot kamQB gener. standardlayout
==Weiterverarbeitung==
==Weiterverarbeitung==
* XML-Parser zum Abfragen
* XML / XPATH Parser zum [https://superxhosting.de/superx/kurse/xslt/html/ Abfragen], z.B. [https://xalan.apache.org/ Xalan]
* Import mit Kettle
* Import mit [https://superxhosting.de/superx/kurse/html/main.htm Kettle]

Aktuelle Version vom 11. Juni 2022, 21:29 Uhr

XML-Schnittstelle

Derzeit bieten wir einen XML-Export, der sich leicht weiterverarbeiten läßt. XML ist seit vielen Jahren ein beliebtes Austauschformat für komplexere Datenbereiche, und hat sich in der B2B-Kommunikation bewährt, z.B. die XRechnung. Wir nutzen XML in SuperX seit 2001, jeder Standardbericht läßt sich in der Benutzeroberfläche als XML exportieren. Darüber hinaus können Sie den Abruf auch automatisieren.

Aufruf über http

  • Deeplink der Ergebnistabelle erzeugen
  • Download mit wget oder curl, dabei Übergabe von den Parametern:
    • kennung = Benutzerkennung
    • passwort = Passwort
    • contenttype=text/xml
    • stylesheet=tabelle_xml.xsl

Beispiel unter Linux für die Maske 16000 Studierende und Studienanfänger nach Geschlecht:

wget -O test.xml 'https://mein-superx-server/superx/servlet/SuperXmlTabelle?tid=16000&kennung=public&passwort=1234567&contenttype=text/xml&stylesheet=tabelle_xml.xsl'

Unter Windows/DOS kann man das Binary-Paket wget installieren und dann so starten:

wget -O test.xml "https://mein-superx-server/superx/servlet/SuperXmlTabelle?tid=16000&kennung=public&passwort=1234567&contenttype=text/xml&stylesheet=tabelle_xml.xsl"

Beschreibung des XML-Formats

lightbulb.svg Das XML-Format hat ein Schema, das hier technisch dokumentiert ist.

Dieser Abschnitt befasst sich mit den wesentlichen Elementen der XML-Schnittstelle. Der Editor Jedit liefert einen übersichtlichen Baum zur Navigation in XML-Dateien:

XML Navigation in Jedit

Hierbei handelt es sich um die XML der Ergebnistabelle des Berichtes "Studierende nach Erst- und Neueinschreibung (Zeitreihe)":

Ergebnistabelle des Berichtes "Studierende nach Erst- und Neueinschreibung (Zeitreihe)"

Die Ergebnistabelle ist hierarchisch strukturiert, unterhalb des Root-Elements sind 1-n ergebnis-Elemente verfügbar. Das Element felder enthält jene Felder, welcher für die Selektion genutzt wurden. Das Element completefields enthält alle Felder der jeweiligen Auswahlmaske:

Das Element felder


Das Element headers enthält die Spaltenüberschriften der Ergebnistabelle:

Das Element headers

Das Element row und sein Unterelement col enthalten die Werte der Ergebnistabelle:

Die Elemente row und col

Dem Beispiel entsprechend gibt es 4 row-Elemente und 13 col-Elemente.

Das Attribut typ innerhalb der col-Elemente definiert den Datentyp:

  • 1=string (Default)
  • 3=DecimalFormat
  • 4=integer
  • 6=date
  • 8=timestamp
  • 9=time
attention.svg Es wird mit amerikanischem Zahlenformat gearbeitet (Punkt als Dezimaltrenner).

Das Datumsformat ist dd.MM.yyyy

Weiterverarbeitung