XML-Validierung - Mehrere xsds verwenden

8

Ich habe zwei xsd-Dateien, um ein XML zu validieren. Aber das Problem ist, mein Code braucht nur ein xsd. Wie verwende ich andere xsd im folgenden Code? Ich habe keine Ahnung, wo ich 2. Xsd-Datei platzieren / aufrufen sollte.

%Vor%     
freepublicview 10.08.2011, 10:23
quelle

1 Antwort

21

Viele Treffer bei der Suche nach SO oder Google. Einer von ihnen ist diese Frage, wo Der Autor hat seine eigene Lösung gefunden und meldet den folgenden Code, um dem Validator mehrere xsd hinzuzufügen:

%Vor%

Wenn Sie jedoch direkt mit InputStream auf StreamSource arbeiten, kann der Resolver keine referenzierten XSD-Dateien laden. Wenn beispielsweise die Datei xsd1 eine dritte Datei importiert oder enthält (was nicht xsd2 ist), schlägt die Schemaproduktion fehl. Sie sollten entweder den Systembezeichner ( setSystemId ) oder (noch besser) den StreamSource(File f) -Konstruktor verwenden.

Angepasst an Ihren Beispielcode:

%Vor%

Hinweis:

Wenn ich mit Klassenpfad-Ressourcen arbeite, würde ich den StreamSource(String systemId) -Konstruktor bevorzugen (anstatt ein File zu erstellen):

%Vor%     
Wivani 10.08.2011, 11:23
quelle

Tags und Links