XML validieren

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerhandbuch und Referenz > Menübefehle > Menü "XML" >

XML validieren

ic_validate        F8

Mit diesem Befehl können Sie ein XML-Dokument gegen DTDs, XML-Schemas und andere Schemas validieren. Die Validierung wird automatisch durchgeführt, wenn Sie von der Textansicht in eine andere Ansicht wechseln. Sie können einstellen, dass ein Dokument beim Öffnen oder Speichern automatisch validiert wird (Extras | Optionen | Datei). Der Befehl Validieren führt vor Überprüfung der Gültigkeit gleichzeitig eine Wohlgeformtheitsprüfung durch, sodass diese vorher nicht separat mit dem Befehl Wohlgeformtheit prüfen überprüft werden muss.

 

Bei erfolgreicher Validierung wird im Fenster "Meldungen" eine entsprechende Meldung angezeigt:

valid

 

Andernfalls wird eine Meldung, die den Fehler beschreibt, angezeigt. Wenn Sie auf die Links in der Fehlermeldung klicken, können Sie zu der Stelle in der XML-Datei springen, an der der Fehler gefunden wurde. Eine Beschreibung der Fehlermeldung und deren Behebung mit Hilfe der Smart Fixes von XMLSpy finden Sie im nächsten Abschnitt unten.

 

 

Validierungsfehler und deren Behebung

Wenn im Fenster "Meldungen" ein Validierungsfehler angezeigt wird, werden die Fehlerursachen im Bereich auf der linken Seite angezeigt (siehe Abbildung unten).  Wenn im linken Bereich eine Fehlerursache ausgewählt wird, so werden im rechten Bereich Smart Fix-Vorschläge dazu angezeigt, falls vorhanden. Smart Fix-Vorschläge stehen in der Text- und der Grid-Ansicht zur Verfügung und basieren auf den Informationen im damit verknüpften Schema. Um Smart Fix-Vorschläge anzuzeigen, klicken Sie auf die Schaltfläche Smart Fix anzeigen. Klicken Sie auf die Schaltfläche Smart Fix ausblenden, wenn diese Vorschläge nicht angezeigt werden sollen. Beachten Sie dass Wohlgeformtheitsfehler (wie nicht übereinstimmende Start- und End-Tags), falls vorhanden, angezeigt werden, bevor Validierungsfehler angezeigt werden. Die Schaltfläche Smart Fix anzeigen/ausblenden ist daher nur aktiv, wenn ein Validierungsfehler erreicht wird (d.h. nachdem alle Wohlgeformtheitsfehler korrigiert wurden).

Click to expand/collapse

Um einen Smart Fix-Vorschlag anzuwenden, (i) doppelklicken Sie entweder darauf oder (ii) wählen Sie ihn aus und klicken Sie entweder auf die Option Beheben oder Beheben + validieren (siehe Abbildung unten). Mit dem Befehl Beheben + validieren wird das Dokument über den behobenen Fehler hinaus validiert und der nächste Fehler wird, falls vorhanden, angezeigt.

ValidateXMLAutoFix

In der Textansicht finden Sie zwei weitere Markierungen für einen Validierungsfehler (siehe Abbildung unten): (i) ein rotes Ausrufezeichen in der Zeilennummernleiste und (ii) ein rotes Markierungsquadrat in der Bildlaufleiste (auf der rechten Seite des Fensters).

TextViewValErrorIndicators

Das Glühbirnensymbol neben dem Ausrufezeichensymbol (siehe Abbildung oben) ist das Smart Fix-Symbol. Wenn Sie den Mauszeiger darüber platzieren, werden alle Smart Fixes für alle Fehlerursachen angezeigt (siehe Abbildung unten). Wählen Sie einen Smart Fix-Vorschlag aus, um diesen anzuwenden.

TextViewValErrorSmartFixes

Anmerkung:Die oben beschriebenen Validierungsfehlermarkierungen und Smart Fix-Vorschläge, werden erst bei Ausführung des Befehls XML | Validieren (F8) aktualisiert; sie werden nicht im Hintergrund aktualisiert, Sie müssen den Befehl Validieren (F8) erneut ausführen, um zu überprüfen, ob der Fehler wirklich behoben wurde.

 

Anmerkung: Das Fenster "Meldungen" enthält neun Ausgaberegister. Das Ergebnis der Validierung wird immer auf dem aktuellen Register angezeigt. Sie können ein XML-Dokuments auf Register 1 validieren und das Ergebnis auf diesem Register aufbewahren, Um ein zweites Dokument zu validieren, wechseln Sie zu Register 2 (oder Register 3, wenn Sie möchten), bevor Sie die Validierung durchführen. Wenn Sie die Register nicht wechseln, wird Register 1 (bzw. das aktive Register) durch das Validierungsergebnis überschrieben.

 

Validierung über das Projektfenster

Der Befehl "Validieren" kann auch auf eine Datei, einen Ordner oder eine Gruppe von Dateien angewendet werden. Klicken Sie im Projektfenster auf die gewünschte Datei/den gewünschten Ordner und wählen Sie die Option XML | Validieren oder F8. Ungültige Dateien werden als aktive Datei im Hauptfenster geöffnet und die entsprechende Fehlermeldung wird angezeigt.

 

Validieren von XML-Dokumenten

Um eine XML-Datei zu validieren, machen Sie das XML-Dokument im Hauptfenster zum aktiven und klicken Sie auf XML | Validieren oder drücken Sie F8. Das XML-Dokument wird daraufhin anhand des in der XML-Datei referenzierten Schemas validiert. Existiert keine Referenz, wird im Fenster "Meldungen" eine Fehlermeldung angezeigt. Solange das XML-Dokument geöffnet ist, bleibt das Schema im Speicher (siehe Cache-Speicher leeren im  DTD/Schema-Menü).

 

Validieren von Schema-Dokumenten (DTDs und XML-Schema)

XMLSpy unterstützt die gebräuchlichen Schemadialekte einschließlich DTD und XML Schema. Um ein Schema-Dokument zu validieren, machen Sie es im Hauptfenster aktiv und klicken Sie auf XML | Validieren oder drücken Sie F8.

 

Validierungsmeldungen

Es gibt zwei Arten von Meldungen:

 

Wenn das Schema (DTD oder XML-Schema) gültig ist, wird im Fenster "Meldungen" eine entsprechende Meldung angezeigt.
Wenn das Schema nicht gültig ist, wird im Fenster "Meldungen" eine Fehlermeldung angezeigt (Abbildung unten).

Click to expand/collapse

In einer Fehlermeldung wird jede mögliche Ursache für den Fehler separat angezeigt. So werden z.B. in der Abbildung oben vier mögliche Ursachen für den Validierungsfehler angezeigt; die erste ist erweitert, die anderen drei reduziert. Jede Ursache ist in drei Abschnitte gegliedert:

 

1.  Eine Beschreibung der möglichen Ursache. Die Beschreibung enthält Links zur entsprechenden Definition im verknüpften Schemadokument. Sie können die jeweilige Schemadefinition schnell aufrufen, um genau zu sehen, warum das Dokument ungültig ist.

2.  Der Pfad zum fehlerverursachenden Node im XML-Dokument. Wenn Sie in diesem Pfad auf einen Node klicken, wird der Node im Dokument markiert.

3.  Detaillierte Informationen über den Fehler sowie ein Link zum entsprechenden Absatz in der Schema-Spezifikation. Hier sind die jeweiligen Schemaregeln zu diesem Punkt definiert.

 

Anmerkung: Wenn Sie bei Ausführung der Validierung in der Text-Ansicht im Fenster "Meldungen" auf einen Link klicken, wird die entsprechende Definition in der Text-Ansicht markiert. Wenn die Validierung in der Schema-Ansicht durchgeführt wird, wird die entsprechende Definition bei Anklicken des Definitions-Links geöffnet und Sie können die Komponente direkt bearbeiten.

 

Kataloge

XMLSpy unterstützt einen Teil der OASIS XML-Kataloge. Mit Hilfe von Katalogen kann XMLSpy gebräuchliche Schemas (sowie Stylesheets und andere Dateien) aus lokalen Benutzerordnern abrufen, wodurch die Verarbeitungsgeschwindigkeit erhöht wird, Benutzer auch offline arbeiten können (d.h. ohne mit einem Netzwerk verbunden zu sein) und Dokumente leichter übertragbar werden (da die URIs nur in den Katalogdateien geändert werden müssen). Der Mechanismus funktioniert folgendermaßen:

 

XMLSpy lädt eine Datei namens RootCatalog.xml, die eine Liste von Katalogdateien enthält, die durchsucht werden. Sie können jeweils im Element nextCatalog in RootCatalog.xml beliebig viele Katalogdateien definieren, die durchsucht werden sollen.
Die in RootCatalog.xml inkludierten Katalogdateien werden durchsucht und die URIs werden entsprechend der Zuordnungen in den Katalogdateien aufgelöst. Achten Sie darauf, keine Zuordnungen doppelt zu vergeben, da dies Fehler verursachen könnte.
Mit XMLSpy werden zwei Katalogdateien installiert. Eine Beschreibung der Funktionsweise dieser Kataloge finden Sie im Abschnitt Kataloge in XMLSpy.
Der PUBLIC oder der SYSTEM Identifier in der DOCTYPE-Anweisung Ihrer XML-Datei wird für das Durchsuchen des Katalogs verwendet. Bei häufig verwendeten Schemas ist der PUBLIC Identifier normalerweise bereits vordefiniert, sodass nur mehr die URI in den Katalog-Lookup-Dateien geändert werden muss, wenn XML-Dokumente auf mehreren Rechnern verwendet werden.

 

Wenn Sie Ihre eigene CustomCatalog.xml (oder eine andere benutzerdefinierte Katalogdatei) Datei schreiben, verwenden Sie nur die folgende Teilmenge des OASIS-Katalogs, damit XMLSpy den Katalog korrekt verarbeiten kann. Jedes der Elemente in der unterstützten Teilmenge kann das Attribut xml:base erhalten, welches dazu dient, die Basis-URI dieses Elements zu definieren.

 

<catalog...>

...

<public publicId="PublicID of Resource" uri="URL of local file"/>

<system systemId="SystemID of Resource" uri="URL of local file"/>

<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>

<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

<uri name="filename" uri="URL of file identified by filename"/>

...

</catalog>

 

Bitte beachten Sie:

 

Die Datei catalog.xml im Ordner %AltovaCommonFolder%\Schemas\schema enthält Referenzen auf DTDs, die ältere XML-Schema-Spezifikationen implementieren. Sie sollten Ihre XML-Schema-Dokumente nicht anhand eines dieser Schemas validieren. Die referenzierten DTD-Dateien wurden nur inkludiert, um XMLSpy Eingabehilfeninformationen zu Bearbeitungszwecken bereitzustellen, falls Sie Dateien gemäß diesen älteren Empfehlungen erstellen wollen. siehe auch nächster Punkt
Wenn Sie eine benutzerdefinierte Dateierweiterung für ein bestimmtes Schema erstellen (z.B. die Erweiterung .myhtml  für (HTML)-Dateien, die gemäß der HTML-DTD gültig sein sollen), können Sie die intelligente Editierung für Dateien mit dieser Erweiterung aktivieren, indem Sie eine Textzeile zu CustomCatalog.xml hinzufügen. Für das erwähnte Beispiel sollten Sie das Element <spy:fileExtHelper ext="myhtml" uri="schemas/xhtml/xhtml1-transitional.dtd"/> als Child des Elements <catalog> hinzufügen, damit die intelligente Editierung (Autokomplettierung, Eingabehilfen usw.) von .myhtml-Dateien in XMLSpy gemäß der XHTML 1.0 Transitions DTD aktiviert werden kann.
Nähere Informationen zu Katalogen finden Sie in der XML Catalogs-Spezifikation.

 

 

Automatisches Validieren mit RaptorXML 2019

Altova RaptorXML ist eine Applikation zur XML-Validierung, XSLT-Transformation und XQuery-Ausführung. Sie kann über die Befehlszeile,  über eine COM-Schnittstelle, in Java-Programmen und in .NET-Applikationen aufgerufen werden. So können mit RaptorXML z.B. Aufgaben wie die XSLT-Transformation automatisiert werden. Sie können z.B. eine Batch-Datei erstellen, die RaptorXML aufruft, um damit eine Reihe von Dokumenten zu transformieren. Nähere Informationen dazu finden Sie in der Dokumentation zu RaptorXML.

 


© 2019 Altova GmbH