XML
Nahezu jede größere Verwaltungslösung bietet inzwischen eine XML (Extensible Markup Language) Schnittstelle. Das erleichtert den Datenaustausch zwischen Systemen oder den Datenimport in ein neuese System erheblich. Aber was ist genau XML und das auch immer wieder genannte XSL?

XML (Extensible Markup Language)
XML ist eine Meta-Sprache, mit der es möglich ist, Auszeichnungssprachen für Dokumente zu erzeugen. Eine bekannte Auszeichnungssprache für das WWW ist HTML. HTML kann in XML formuliert werden. Im Unterschied zu HTML sind bei XML die Auszeichnungselemente (tags) jedoch nicht festgelegt. Weiterhin enthält XML keinerlei Möglichkeiten auszudrücken, wie XML- Daten am Bildschirm angezeigt, oder auf Papier ausgedruckt werden sollen. Dies macht XML einerseits einfacher als HTML, die Visualisierung ist jedoch dafür um einiges schwieriger.
Zentrales Anliegen für den Einsatz von XML ist es, Inhalte maschinell zugänglich, auffindbar und manipulierbar zu machen. Um das zu erreichen, wird mit XML eine Möglichkeit gegeben, Inhalte über kennzeichnende Markierungen in funktionale Blöcke zu untergliedern. Diese Auszeichnungen werden tags genannt. Tags werden durch spitze Klammern gekennzeichnet, z.B.: <kapitel>. Wird von der Gesamtheit der Tags gesprochen, spricht man von Markup.
XML ist keine Markup-Sprache in dem Sinn, dass die Menge der Auszeichnungselemente (tags) festgelegt ist, wie z.B. bei HTML. Die Namen der Tags können von XML-Anwender/innen frei erfunden werden. Die Tag-Namen können so gewählt werden, dass sie die Bedeutung des Inhalts ausdrücken. Ein tag <buchtitel> erklärt sich selbst. Bei bedeutungstragenden tags spricht man von semantischem Markup.
In diesem Sinn ist XML eine erweiterbare Auszeichnungssprache, woraus das Kürzel XML - eXtensible Markup Language - seine Begründung erhält.

XSL (Extensible Stylesheet Language)
XSL ist ein auf XML-basierender Standard, mit dem man XML-Dokumente transformieren und formatieren kann.
Genaugenommen besteht XSL aus 3 Teilen, oder besser gesagt drei Sprachen:
  • XSL-FO (XSL Formatting Objects) die Sprache um formatierte Ausgabe zu beschreiben.
  • XSLT (Extensible Stylesheet Language Transformations) die Sprache um XML umzuwandeln
  • XPath (XML Path Language) die Sprache zum Adressieren und Selektieren von XML-Knoten

Oft findet jedoch eine Verwechslung zwischen XSL und XSLT statt. XSL ist die Extensible Stylesheet Language (erweiterbare Auszeichnungssprache), und besteht aus zwei Unterstandards: XSLT (zur Transformation) und XSL-FO (zur Formation).
Formal ausgedrückt: XSL = XSLT + XSL-FO

In der Praxis zeigt sich, dass der große Vorteil von XML nämlich die Erweiterbarkeit gleichzeitig die größten Aufwendungen beim Einsatz erfordert. Es gilt XML != XML. Daher ist eine XML Schnittstelle ohne XSL nicht vollständig zu nennen.

Im PLM/PDM Umfeld ist eine XML Schnittstelle für dreierlei Aufgaben interessant

1. Datenimport
Ein neues System muss zunächst mit Informationen befüllt werden. Diese existieren normalerweise bereits in mehr oder weniger strukturierter Form. Für einen Import in das neue System müssen diese Daten in der vorgegebenen Weise formatiert und importiert werden. Da es sich bei den XML Dateien um einfache ASCII Dateien mit entsprechender Strukturierung handelt ist dies relativ einfach zu bewerkstelligen.

2. Datenexport / Reporterstellung
Reports und Protokolle sind ein weiterer Anwendungsfall für eine XML Schnittstellle. Die Integration der XML Schnittstelle in das Verwaltungssystem (z.B. PDM) wird dabei deutlich mehr gefordert. Es müssen aus dem Verwaltungssystem alle Informationen an die XML Schnittstelle übergeben werden können. Zusätzlich muss eine Transformation in die gewünschte Form und das gewünschte Format angestoßen werden können.
So können z.B. formatiert PDF Dateien oder auch Exceltabellen zur Weiterbearbeitung erstellt werden.

3. Datenaustausch
Beim Datenaustausch zwischen zwei Systemen wird man nicht um den Einsatz einer Transformation auskommen da wie oben gesagt XML nicht gleich XML ist. Im einfachsten Fall wird im exportierten XML ein Objekt z.B. mit <artikel> bezeichnet, für den Import muss dieses Objekt aber z.B. mit <Art-ID> bezeichnet werden. In diesem Fall muss mindestens eines der beteiligten Systeme in seiner XML Schnittstelle auch die Anwendung von XSLT Stylesheets ermöglichen.

Auf folgende Funktionalitäten muss geachtet werden:
  • XML als Schnittstelle für Import und Export
  • Alle Objekttypen und Objekteigenschaften müssen auch in der XML Schnittstelle verfügbar sein
  • optionale Anwendung von XSL bei Import und Export
  • möglichst auch Verarbeitung von physikalischen Dokumenten über die XML Schnittstelle
  • Verarbeitung auch von Dokumenten, nicht nur Metadaten