XML-Schema-Bearbeitung: Ein visueller Ansatz
Wenn XML die Sprache ist, in der Ihre Daten vorliegen, dann ist die XML-Schema-Definition (XSD) die Grammatik, die festlegt, wie diese Sprache funktioniert. Ein gut gestaltetes Schema stellt sicher, dass Dokumente gültig sind, ermöglicht die Generierung von Code, unterstützt die Validierung und bietet eine Dokumentation für alle, die mit Ihren Daten arbeiten. Das Erstellen von Schemata kann jedoch sehr mühsam sein, insbesondere wenn Sie die XSD-Dateien manuell bearbeiten. Lassen Sie uns untersuchen, warum die visuelle Bearbeitung von Schemata einen großen Unterschied macht.

Warum das Design von Datenmodellen wichtig ist
Dies ist Teil 2 unserer fünfteiligen Serie über die Bearbeitung von XML-Dateien Sehen Sie sich Teil 1: Der umfassende Leitfaden zur XML-Bearbeitung</2> an und bleiben Sie für zukünftige Updates auf dem Laufenden.
Bevor wir über Werkzeuge sprechen, wollen wir zunächst klären, warum es sich lohnt, Zeit in ein gutes Datenbankschema zu investieren. Ein Datenbankschema ist mehr als nur ein technisches Konstrukt – es ist ein Vertrag zwischen Ihrer Anwendung und ihren Daten. Ein gut durchdachtes Schema hilft Entwicklern:
Stellen Sie die Datenintegrität sicher, indem Sie die Struktur und Datentypen vor der Verarbeitung überprüfen
Stellen Sie eine für Menschen verständliche Dokumentation des Datenformats bereit
Erkennen Sie Fehler frühzeitig im Datenverarbeitungsprozess, um Probleme in nachfolgenden Schritten zu vermeiden
Sorgen Sie für eine langfristige Wartbarkeit, da sich Systeme weiterentwickeln
Trotzdem lernen die meisten Entwickler XSD und versuchen dann, es möglichst nicht mehr zu verwenden. Warum? Weil das Bearbeiten komplexer Schemata in reinen Textformaten wie das manuelle Schreiben von HTML im Jahr 1995 ist. Es ist zwar möglich, aber mühsam und oft fehleranfällig.
Die Schwierigkeiten beim manuellen Bearbeiten von XSD-Dateien
XSD-Syntax ist komplex und ausführlich. Stellen Sie sich vor, Sie definieren einen komplexen Datentyp mit mehreren Elementen, Attributen und verschachtelten Gruppen. Bereits in reiner Textform umfasst dies schon Dutzende von XML-Zeilen. Stellen Sie sich nun vor, Sie möchten eine Einschränkung hinzufügen, die Kardinalität ändern oder die Beziehungen zwischen Elementen überarbeiten. Sie müssen ständig auf und ab scrollen, die Einrückung überprüfen, sicherstellen, dass öffnende und schließende Tags übereinstimmen, und hoffen, dass Sie nichts versehentlich beschädigt haben.

Und das ist noch bevor man die Korrektheit und die Validierung überprüft und feststellt, dass man irgendwo in den 200 Zeilen XSD-Code einen Fehler gemacht hat. Das Auffinden und Beheben dieses Fehlers bedeutet, den komplexen XML-Code erneut durchzulesen und zu versuchen, die logische Struktur hinter der Syntax zu verstehen.
Ein visueller Editor löst dieses Problem, indem er Ihnen die logische Struktur direkt anzeigt. Dieser Ansatz präsentiert ein Diagramm, das die Struktur des Schemas darstellt, und ermöglicht es Ihnen, Elemente per Drag-and-Drop zu verschieben und/oder Kontextmenüs zu verwenden, um es zu aktualisieren.
Wie die grafische Bearbeitung von Schemata funktioniert
Altova war Vorreiter bei der Entwicklung des Konzepts der visuellen Schema-Bearbeitung. Der grafische XML-Schema-Editor in Altova XMLSpy übersetzt die abstrakte XSD-Syntax in eine Form, die Sie visuell sehen und bearbeiten können. So verändert er Ihren Arbeitsablauf:
Klares und übersichtliches Design
Wenn Sie mit einem Schema im XSD-Editor arbeiten, werden alle global definierten Komponenten (d.h. Elemente, komplexe Datentypen, Attributgruppen usw.) in einer sortierbaren Liste organisiert. Hier können Sie Komponenten hinzufügen oder löschen und deren Eigenschaften mithilfe von kontextsensitiven Eingabehilfen ändern, anstatt alle diese Eigenschaften manuell definieren zu müssen.
Durch Klicken auf das Baum-Symbol für jede globale Komponente öffnet sich in der XSD-Editor die detaillierte grafische Ansicht ihres Inhaltsmodells. Hier können Sie Elemente einfach per Drag-and-Drop neu anordnen oder kontextsensitive Optionen aus dem Rechtsklick-Menü sowie aus den Hilfenfenstern auswählen.
Die Elemente werden als Kästen dargestellt, ihre Beziehungen als Verbindungen und Einschränkungen als visuelle Anmerkungen. Auf einen Blick können Sie erkennen, ob ein Element Unterelemente enthält, welche Attribute welche Datentypen haben und ob Elemente optional oder obligatorisch sind. Die visuelle Darstellung macht die Struktur und Hierarchie des Schemas sofort verständlich.

Drag-and-Drop-Bearbeitung
Die grafische Darstellung ermöglicht es, Elemente einfach per Drag-and-Drop zu verschieben oder neu anzuordnen, oder kontextabhängige Optionen aus Hilfefunktionen auszuwählen. Der Editor erzwingt die Einhaltung der XSD-Regeln, sodass Sie versehentlich kein ungültiges Schema erstellen können.
Visuelles Design komplexer Datentypen
Komplexe Datentypen mit Sequenzen, Auswahlmöglichkeiten und Einschränkungen sind in der reinen XSD-Darstellung notorisch schwer verständlich. Visuell werden sie hingegen übersichtlicher. Man erkennt genau, welche Elemente enthalten sind, ihre Reihenfolge, ihre Kardinalität (erforderlich, optional, wiederholbar) und alle vorhandenen Einschränkungen. Die Bearbeitung erfolgt durch Auswahl des Elements und Änderung seiner Eigenschaften.

Automatische Codeerstellung
Der eigentliche Vorteil: Sobald Ihr Schema grafisch entworfen ist, können Sie daraus Code generieren. Benötigen Sie eine Java-Klasse, eine C#-Klasse oder C++-Strukturen, die Ihrem Schema entsprechen? Der Editor generiert diese automatisch und berücksichtigt dabei alle Einschränkungen und Beziehungen. Dies überbrückt die Lücke zwischen Ihrem Schema und Ihrem Anwendungscode.
Generierung von Schemata aus Instanzen, Datenbanken und anderen Formaten
Manchmal entwirft man kein Schema von Grund auf neu. Vielleicht haben Sie eine Beispiel-XML-Datei und möchten daraus ein Schema ableiten. Oder Sie haben eine relationale Datenbank und möchten ein Schema, das ihrer Struktur entspricht. Oder Sie beginnen vielleicht mit einem JSON-Schema. XMLSpy unterstützt all diese Szenarien.
Die instanzbasierte Schemaerstellung funktioniert, indem ein XML-Dokument analysiert und das Schema ermittelt wird, das es validieren würde. Dies ist äußerst nützlich, um schnell ein Basisschema zu erstellen, insbesondere wenn Sie ältere XML-Formate übernehmen. Anschließend können Sie das generierte Schema visuell anpassen.
Die datenbankgesteuerte Erstellung von XML-Schemas ist auch für Unternehmen mit bestehenden relationalen Daten eine leistungsstarke Lösung. XMLSpy kann sich mit Ihrer Datenbank verbinden, deren Struktur analysieren und ein XSD-Schema erstellen, das auf Ihre Tabellen und Spalten abgestimmt ist. Dies ermöglicht es Ihnen, Ihre relationalen Daten als XML zu behandeln, wodurch Möglichkeiten zur Transformation, Integration und Berichterstellung entstehen.
Die Konvertierung von JSON-Schemas überbrückt die Lücke, wenn Ihre Ausgangsbasis eine JSON-basierte Definition ist. XMLSpy kann direkt aus einem JSON-Schema ein XSD-Schema generieren. Wenn Ihr Team – oder eine API, mit der Sie integrieren – bereits Datenstrukturen in JSON-Schema definiert hat, müssen Sie diese Arbeit nicht von Grund auf neu erstellen. Konvertieren Sie sie in ein XSD-Schema, verfeinern Sie es im visuellen Editor, und Sie sind bereit, XML-Dokumente anhand dieses Schemas zu validieren.
Best Practices für die Gestaltung von Datenmodellen
Die visuelle Bearbeitung von Layouts beschleunigt nicht nur den Designprozess, sondern fördert auch ein besseres Design. Hier sind einige bewährte Praktiken, die mit einem visuellen Editor einfacher umzusetzen sind:
Verwenden Sie Element- und Attributgruppen, um Redundanzen zu reduzieren und die Wartbarkeit zu verbessern
Definieren Sie wiederverwendbare, komplexe Datentypen und nutzen Sie die Vererbung von Datentypen für ähnliche Strukturen
Verwenden Sie eindeutige Namenskonventionen, damit Ihr Schema sich selbst dokumentiert
Verwenden Sie sinnvolle Kardinalitätsbeschränkungen (Minimal- und Maximalvorkommen), um ungültige Dokumente zu verhindern
Verwenden Sie Einschränkungen und Muster für einfache Datentypen, um die Datenintegrität bereits auf Schemastufe zu gewährleisten
Mit visueller Bearbeitung und intelligenten Kontextmenüs werden diese Funktionen zu einem natürlichen Bestandteil Ihres Designprozesses und nicht zu einer zusätzlichen Belastung.
Die nachfolgenden Vorteile
Ein gut durchdachtes Schema bringt Vorteile in der gesamten Datenverarbeitungskette. Zunächst ermöglicht es die Datenvalidierung: Jedes XML-Dokument, das dem Schema entspricht, hat garantiert die erwartete Struktur. Die Codeerstellung beschleunigt die Entwicklung, da Sie keine Datenklassen manuell schreiben müssen. Die Dokumentation ist klar, da das Schema selbst das Datenformat beschreibt (und in XMLSpy können Sie zusätzliche, detaillierte Dokumentationen für die Kommunikation mit anderen Teammitgliedern erstellen). Schließlich ist die Wartung einfacher, da die visuelle Darstellung die Beziehungen leicht verständlich macht.
Der grafische Schemadektor von XMLSpy macht all diese Vorteile zugänglich. Ob Sie ein neues Schema entwerfen, ein bestehendes Schema aus vorhandenen Daten generieren oder ein komplexes Unternehmensschema pflegen, ein visueller Ansatz spart Zeit und verbessert die Qualität.
Möchten Sie bessere Diagramme erstellen?
Testen Sie den grafischen Schemadefinitionsprogramm von XMLSpy mit einer kostenlosen 30-Tage-Testversion. Entdecken Sie, wie viel schneller und intuitiver die Erstellung von Schemata wird, wenn Sie sehen können, was Sie entwickeln.