Vergleich von XML-Schemas mit DiffDog 2010
DiffDog 2010 enthält ein leistungsstarkes neues Werkzeug zum Vergleichen von XML-Schemata, das XML-Entwickler und andere nutzen können, um bestehende XML-Datendateien zu aktualisieren, wenn sich die XML-Schemata weiterentwickeln. Dieser Artikel beleuchtet ein Beispiel für die Anwendung dieser Funktion.
Bevor wir uns die neue Funktionalität genauer ansehen, werfen wir einen kurzen Blick auf zwei XML-Schemata mithilfe der Funktion "DiffDog Dateivergleich". Wie in früheren Versionen können DiffDog 2010-Nutzer XML-Schemata als .xsd-Dokumente vergleichen und die Unterschiede in einem farbcodierten, XML-sensiblen Format anzeigen.
![]()
Dies ist eine gute Möglichkeit, Unterschiede in XML-Schemas zu identifizieren und zu verwalten, insbesondere wenn Sie Änderungen an XML-Schemas überprüfen möchten, die im Laufe der Zeit weiterentwickelt werden und Industriestandards darstellen.Was gibt es Neues in DiffDog 2010 ist eine zusätzliche Funktion XML-Schema-Vergleich Eine Option, die zwei XML-Schemata nebeneinander grafisch darstellt, identische Elemente automatisch erkennt und es Benutzern ermöglicht, Unterschiede zu vergleichen und XSL-Transformationen zu erstellen, um XML-Datendateien zu aktualisieren. Hier ist der erste Bildschirminhalt, der angezeigt wird, wenn wir die gleichen beiden XML-Schemata öffnen, die im obigen Dateivergleich gezeigt wurden, unter Verwendung der neuen Funktion zum Vergleichen von XML-Schemata.
![]()
Die Stammelemente der beiden XML-Schemas werden automatisch miteinander verknüpft. Wir können auf den "Vergleichen"-Button in der Symbolleiste klicken, um identische Elemente in den beiden XML-Schemas automatisch miteinander zu verbinden.
![]()
(Selbstverständlich können wir auch "XML-Schemata vergleichen" im Kontextmenü auswählen, oder "Vergleich starten" im Menü "Diff und Zusammenführen", oder die Tastenkombination F5 drücken – DiffDog bietet Ihnen viele Möglichkeiten, um die gleiche Aufgabe zu erledigen, sodass Sie auf die Art und Weise arbeiten können, die Ihnen am besten gefällt.)
Anschließend können wir Elemente mit unterschiedlichen Namen in den beiden XML-Schemata manuell miteinander verknüpfen, indem wir die Pfeile zwischen ihnen verbinden. In diesem Beispiel führen die meisten Änderungen an der Version des XML-Schemas auf der rechten Seite lediglich dazu, dass Elemente neue Namen erhalten, was klarer sein wird, wenn das XML-Schema und seine Daten Dateien innerhalb unseres Unternehmens verteilt werden.
![]()
Sobald alle Elemente zugeordnet sind, können wir eine XSLT-Datei generieren, um bestehende XML-Datendateien basierend auf dem XML-Schema auf der linken Seite zu transformieren, um Änderungen in der neueren Version auf der rechten Seite widerzuspiegeln. Diese Funktion soll XML-Entwicklern die mühsamen Aufgaben des manuellen Erstellens und Debuggens von XSL-Transformationen erleichtern.
![]()
Hier ist ein Beispiel für eine ursprüngliche XML-Datendatei, die auf dem XML-Schema auf der linken Seite basiert, wie sie in Altova XMLSpy angezeigt wird:
![]()
Die resultierende Datei nach der Anwendung der XSL-Transformation, die wir mit DiffDog 2010 erstellt haben, wird im Folgenden angezeigt. Beachten Sie die Ersetzungen, wie beispielsweise die Ersetzung des Elements "author" durch "writer" und "email" durch "feedback".
![]()
Wenn viele bestehende XML-Dateien transformiert werden müssen, können die Funktionen zur Projektverwaltung von XMLSpy uns dabei helfen, den Prozess zu automatisieren. Wir können externe Ordner zu einem XMLSpy-Projekt hinzufügen.
![]()
Mithilfe des Eigenschaften-Dialogs von XMLSpy, der für jeden Projektordner verfügbar ist, können wir Standardwerte festlegen, um ein XML-Schema für die Validierung, die XSL-Transformation und das Zielverzeichnis für die Ausgabe zu definieren.
![]()
Jetzt können wir im Hilfefenster des XMLSpy-Projekts den Eingangsordner auswählen und alle Dateien darin mit dem Tastenkürzel F10 transformieren. Als wir ursprünglich die XML-Schema-Elemente in DiffDog zugeordnet haben, haben wir das Publizierungselement auf der linken Seite nicht verbunden, da es in der früheren Version des Schemas kein entsprechendes Element gab. Das bedeutet, dass die resultierende Ausgabe bei der Transformation von XML-Eingabedateien mit XSLT das Publizierungselement nicht enthalten wird. Wenn das Publizierungselement erforderlich ist, können wir Altova MapForce für eine schnelle Lösung nutzen.Eine der Optionen in DiffDog besteht darin, eine MapForce-Zuordnung zu generieren, anstatt XSLT zu verwenden. Wenn wir diese Option wählen, startet MapForce und lädt unsere DiffDog-Zuordnung bereits als neues MapForce-Design, wie unten gezeigt.
![]()
Es ist einfach, die Zuordnung zu verbessern, indem man einen konstanten Wert als Standardwert für das Publikationselement hinzufügt.
![]()
Jetzt können wir eine XSL-Datei aus MapForce speichern, die alle Elementzuordnungen wiederverwendet, die wir ursprünglich in DiffDog entworfen haben, und die einen konstanten Wert hinzufügt. Wenn wir diese neue XSL-Datei verwenden, um unsere ursprüngliche XML-Datendatei zu transformieren, erhalten wir ein Ergebnis, das den Standardwert für das Publikationselement enthält.
![]()
Dieser Beitrag begann mit einer Beschreibung der neuen Funktion zum Vergleichen von XML-Schemas in DiffDog 2010. Die detaillierte Darstellung eines einfachen, aber typischen, realen Beispiels machte deutlich, dass zusätzliche Aufgaben problemlos erledigt werden können, indem man die enge Integration mit XMLSpy und MapForce nutzt.
Alle drei dieser Tools sowie weitere sind im Altova MissionKit 2010 zu erheblichen Preisvorteilen erhältlich. Dieses integrierte Paket umfasst XML-, Datenbank- und UML-Tools und wurde entwickelt, um die vielfältigen Anforderungen von Softwarearchitekten und XML-Entwicklern in Bezug auf Entwicklung und Datenmanagement zu erfüllen. Klicken Sie hier, um noch heute eine kostenlose Testversion herunterzuladen!