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%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):
Tags und Links java xml validation