Did you know that you can navigate the posts by swiping left and right?

XML-Validierung mit Visual Studio 2005

16 Sep 2007 . Unknown . Comments

Wir haben bei uns in der Firma schon seit einiger Zeit einen XML-Editor gesucht, der nicht nur gegen Standard-DTDs validieren, sondern bei dem man auch eigene Schemas angeben kann. Gefunden haben wir dabei beispielsweise <oXygen/>, der mit über $200 allerdings doch etwas teuer ist, dafür dass wir nur einen sehr kleinen Funktionsumfang wirklich bräuchten. Für neue XSD-Schemas gibt es ebenfalls einige Editoren wie beispielsweise Microsoft XML Notepad 2007, aber unsere XML-Dateien verwenden aus technischen Gründen noch eine DTD und keine XSD - und gegen die kann XML Notepad nicht validieren.

In der Tat ist aber in Visual Studio 2005 ein sehr guter Editor eingebunden, der einem zahlreiche Arbeiten abnimmt. Ich werde hier auch nur einen ganz kleinen Teil vorstellen und Themen wie das Debuggen von XSLTs dabei völlig aussen vor lassen - zumal ich mich damit bisher selber noch nie beschäftigt habe. smile_angel

Um also eine XML-Datei mit Visual Studio gegen eine eigene DTD zu validieren öffnen wir zunächst die XML-Datei über "File - Open - File...". In dieser muss über den Doctype zunächst angegeben werden, welche DTD Verwendung finden soll:

    1 <?xml version="1.0" encoding="UTF-8"?>

    2 <!DOCTYPE doc SYSTEM "example.dtd">

In diesem Fall liegt die Datei example.dtd im selben Verzeichnis wie die XML-Datei. Sollte Visual Studio sie dort nicht vorfinden, wird der Dateiname mit einer roten Wellenlinie unterstrichen. Das reicht jetzt im Prinzip auch schon VS2k5 als Information: Öffnet man die "Error List" bekommt man eine Echtzeit-Analyse der XML-Datei mit allen Fehlern inkl. kurzer Beschreibung.

Natürlich funktioniert auch Intellisense wie im übrigen Editor: Anhand der Informationen in der DTD weiss Visual Studio welche Elemente mit welchen Attributen noch hinzugefügt werden müssen bzw. können.

Als weiteres Extra kann man sich natürlich auch XML-Dateien sauber formatieren lassen: "Edit - Advanced - Format Document..." funktioniert hier ebenso wie in den üblichen .NET-Sprachen. Die eigenen Vorlieben wie das Einrücken etc. lassen sich über die Optionen des Texteditors festlegen.

Eine letzte Anregung ist das zusätzliche Menü "XML", dass bei geöffneten XML-Dateien erscheint. Hier ist auch die Funktion zum Debuggen von XSLT-Dateien zu finden, aber für den Augenblick ist die oberste Funktion evtl. interessanter: "Create Schema". Visual Studio 2005 kann mit Hilfe eines internen Parsers DTD-Dateien analysieren und erstellt daraus dann ein neues Schema im XSD-Format. Wie bei allen Dingen die ein Programm völlig automatisch erzeugt sollte man den erstellten Code natürlich nicht ungeprüft übernehmen, aber wenn ich mich auf die Erfahrungswerte einiger anderer Programmierer verlassen kann dann funktioniert die erzeugte XSD in allen Fällen fehlerfrei.

Wer weitere Informationen zum Thema XML in Visual Studio 2005 sucht, den verweise ich auf den Webcast "XML an allen Ecken" von Christain Weyer.

Questions/Suggestions
As always, for questions or feedback, contact me or leave a comment.

Octocat by GitHubEdit this page on GitHub