Java-XML-Validierung für XSD-Schema

8
%Vor%

Aber das gibt einen Fehler zurück, der sagt: Ausnahme im Thread "main" java.lang.IllegalArgumentException: Keine SchemaFactory, die die durch: Ссылка angegebene Schemasprache implementiert geladen werden

Ist das ein Problem mit meinem Code oder mit der eigentlichen xsd-Datei?

    
Becky 07.03.2010, 16:09
quelle

2 Antworten

16

Dieser Fehler bedeutet, dass Ihr installiertes Java keine Klassen hat, die XMLSchema-Dateien parsen können. Es ist also kein Problem mit dem Schema oder Ihrem Code.

Ich bin ziemlich sicher, dass aktuelle JREs standardmäßig die passenden Klassen haben, also können Sie uns die Ausgabe von java -version ?

liefern

Aktualisierung:

Sie verwenden die falsche XMLContants-Zeichenfolge. Sie möchten: XMLConstants.W3C_XML_SCHEMA_NS_URI

    
Brabster 07.03.2010, 16:11
quelle
2

Diese Dateien basieren auf dem zugrunde liegenden System. Ich hatte das gleiche Problem, als ich ein Projekt für Android programmiert habe. Ich fand, dass ich Xerces-für-Android verwenden musste, um mein Problem zu lösen.

Das Folgende funktionierte für mich zur Validierung auf Android, wenn Ihr Code Android betrifft, wird es vielleicht helfen, wenn es nicht funktioniert, dann wird der Ansatz Ihnen vielleicht bei Ihrem zugrunde liegenden System helfen:

  1. Erstellen Sie ein Validierungsdienstprogramm.
  2. Holen Sie sowohl die XML- als auch die XSD-Datei in das Android-Betriebssystem und verwenden Sie das Validierungshilfsprogramm dagegen.
  3. Verwenden Sie Xerces-For-Android, um die Validierung durchzuführen.

Android unterstützt einige Pakete, die wir verwenden können. Ich habe mein XML-Validierungsdienstprogramm basierend auf: Ссылка

Mein erster Sandbox-Test war ziemlich flüssig mit Java, dann habe ich versucht, ihn nach Dalvik zu portieren und festgestellt, dass mein Code nicht funktioniert hat. Manche Dinge werden bei Dalvik nicht gleich unterstützt, daher habe ich einige Änderungen vorgenommen.

Ich habe einen Verweis auf Xerces für Android gefunden, also habe ich meinen Sandbox-Test von ( funktioniert das folgende nicht mit android, das Beispiel danach ) modifiziert:

%Vor%

Der obige Code musste geändert werden, um mit Xerces für Android zu funktionieren ( Ссылка ). Du benötigst SVN, um das Projekt zu bekommen, die folgenden Krippennotizen:

%Vor%

Mit dem obigen Jar (Irgendwann mache ich es in ein Glas, kopiere es einfach direkt in meine Quelle für schnelle Tests. Wenn du dasselbe machen willst, kannst du das Glas schnell mit Ant machen ( Ссылка )), konnte ich Folgendes für meine XML-Validierung verwenden:

%Vor%

Einige Seitenhinweise:

Zum Erstellen der Dateien habe ich ein einfaches Datei-Dienstprogramm erstellt, um eine Zeichenfolge in Dateien zu schreiben:

%Vor%

Ich musste auch in ein Gebiet schreiben, auf das ich Zugriff hatte, also benutzte ich:

%Vor%

Ein bisschen hackisch, es funktioniert. Ich bin mir sicher, dass es eine prägnantere Vorgehensweise gibt, aber ich dachte, ich würde meinen Erfolg teilen, da es keine guten Beispiele gab, die ich fand.

    
James Oravec 17.09.2013 22:25
quelle

Tags und Links