Python-Prozessor-API
Über die Python-API von RaptorXML können Daten in XML-Dokumenten, XML-Schema-Dokumenten, XBRL-Instanzdokumenten und XBRL-Taxonomiedokumenten in Python Skripts aufgerufen und verarbeitet werden. Dies sind einige typische Beispiele für die Verwendung der Python API:
•Implementierung von benutzerdefinierten Validierungsregeln und Fehlermeldungen
•Export von Inhalt aus XML- und XBRL-Dokumenten in eine Datenbank
•Export von Inhalt aus XML- und XBRL-Dokumenten in benutzerdefinierte Datenformate
•interaktive Navigation und Abfrage des Datenmodells von XML- und XBRL-Dokumenten in einer Python Shell oder einem Jupyter Notebook (http://jupyter.org/)
Die Python-APIs
Die Python-APIs (für XML, XSD und XBRL) bieten Zugriff auf die Metainformationen, Strukturinformationen und Daten in XML-, XSD- und XBRL-Instanzen und -Taxonomie-Dokumenten. Somit können Python-Skripts erstellt werden, die über die APIs auf Dokumentinformationen zugreifen und diese verarbeiten. So kann z.B. ein Python-Skript an RaptorXML+XBRL Server übergeben werden, das Daten aus einem XML- oder XBRL-Instanz-Dokument in eine Datenbank oder eine CSV-Datei schreibt.
Beispielskripts für die Pyhton APIs von Raptor finden Sie unter: https://github.com/altova
Die Python-APIs sind in den folgenden Abschnitten beschrieben:
Anmerkung: Die Python API v1 von Raptor ist veraltet. Verwenden Sie stattdessen bitte Python API v2.
RaptorXML+XBRL Server Paket für Python
Sie finden in Ihrer Installation von RaptorXML+XBRL Server auch ein Python-Paket im Wheel-Forrmat. Mit Hilfe des pip-Befehls von Python können Sie dieses Paket als Modul Ihrer Python-Installation installieren. Nach Installation des RaptorXMLXBRL-Moduls können Sie die Funktionen des Moduls in Ihrem Code verwenden. Dadurch können Sie die RaptorXMLXBRL-Funktionalitäten ganz einfach in jedem von Ihnen geschriebenen Python-Programm zusammen mit anderen Drittanbieter-Python-Bibliotheken wie z.B. Grafik-Bibliotheken nutzen.
Informationen zur Verwendung des Python-Pakets von RaptorXML+XBRL Server finden Sie im Abschnitt RaptorXML+XBRL Server als Python-Paket.
Anmerkung: Das Python Wheel in Versionen ab v2024r2 ist mit Python Versionen ab 3.11.8 kompatibel.
Python-Skripts
Ein vom Benutzer erstelltes Python-Skript wird mit dem Parameter --script einer Reihe von Befehlen wie den folgenden übergeben:
Diese Befehle, die Python-Skripts aufrufen, können sowohl über die Befehlszeilenschnittstelle (CLI) als auch über die HTTP-Schnittstelle verwendet werden. Die Verwendung von Python-Skripts mit den Python-APIs von RaptorXML+XBRL Server ist unter https://github.com/altova beschrieben.
Python-Skripts sicher machen
Wenn ein Python-Skript in einem Befehl über HTTP an RaptorXML+XBRL Server adressiert ist, funktioniert das Skript nur, wenn es sich im vertrauenswürdigen Verzeichnis befindet. Das Skript wird vom vertrauenswürdigen Verzeichnis aus ausgeführt. Wird ein Python Skript aus einem anderen Verzeichnis angegeben, wird ein Fehler zurückgegeben. Das vertrauenswürdige Verzeichnis wird in der server.script-root-dir-Einstellung der Serverkonfigurationsdatei definiert. Wenn Sie Python-Skripts verwenden möchten, muss ein vertrauenswürdiges Verzeichnis definiert werden. Stellen Sie sicher, dass alle Python-Skripts, die verwendet werden sollen, in diesem Verzeichnis gespeichert werden.
Zwar werden alle vom Server für HTTP-Auftragsanforderungen generierten Ausgabedateien in das Auftragsausgabeverzeichnis (ein Unterverzeichnis von output-root-directory) geschrieben, doch gilt diese Einschränkung nicht für Python-Skripts, die in jeden Ordner geschrieben werden können. Der Server-Administrator muss die Python-Skripts im vertrauenswürdigen Verzeichnis auf potenzielle Schwachstellen überprüfen.