PHP-Framework für XSD und XML-Verarbeitung

Wir möchten Euch in einer sechsteiligen Beitragsserie das von uns erstellte OpenSource PHP-Framework xsdOrm vorstellen, mit welchem über ein Schema (XSD) definierte XML-Daten

  • in eine Datenbank zu importiert (Teil 1 und Teil 2),
  • in PHP-Programmen weiter verarbeitet (Teil 3),
  • in andere Formate zu exportiert (Teil 4),
  • über eine API als Datenquelle verwendet (Teil 5) und
  • auf Webseiten virtualisiert (Teil 6)

werden können.

Den Programmcode von xsdOrm stellen wir als Open-Source Projekt in unserem Github-Account bereit.

Einleitung

Auch jenseits von SOAP und in Zeiten von JSON ist XML immer noch ein beliebtes und flexibles Serialisierungsformat für den Datenaustausch.

Ausschnitt aus einer XML Datei eines DVD Filmes. Quelle: https://www.ivdm.de/technik/

Während Programmiersprachen wie JAVA oder C# schon von Anfang an stark mit XML als Auszeichnungssprache, Konfigurationssprache und zur Datenrepräsentation für SOAP-Schnittstellen verbandelt waren und viele Werkzeuge dafür mitbringen, ist die Unterstützung bei Skriptsprachen wie PHP und Javascript eher auf die Grundlagen beschränkt.

Der große Vorteil von XML für den Datenaustausch ist die Möglichkeit über Schematas die Daten sehr feingranular und eindeutig zu beschreiben und damit Schnittstellen sauber zu definieren.

Zwar existieren auch Ansätze ähnliche Schemas für das verbreitete JSON Format bereit zu stellen, in der Praxis sieht man jedoch eher selten Daten, die damit beschrieben sind. Außer dem ersten Teil, in welchem wir aus mit Hilfe eine tollen externen Projekts aus dem XSD-Schemas unser Datenbankschema aufbauen und die Verarbeitung im ORM vorbereiten, lassen sich alle weiteren Schritte auch auf ein JSON-Schema übertragen.

Für das Projekt überarbeiten wir schrittweise Programmteile aus bestehenden Projekten und fassen sie zu einem hoffentlich auch für andere nützlichen Werkzeugkasten zusammen. Wir werden in den nächsten Wochen schrittweise die einzelnen Programmteile bereitstellen und hier im Blog beschreiben:

  • Teil 1: Relationales Datenbankschema aus XSD generieren
  • Teil 2: Erstellen, Lesen, verändern und Löschen von Daten mit PHP (CRUD und ORM)
  • Teil 3: Daten in ein anderes Format bzw. Exportschema umwandeln
  • Teil 4: REST-API und Dokumentation aufbauen
  • Teil 5: Schnelle und Benutzerfreundliche GUI mit Datatables

Related Posts