ich unten Schnipsel bin mit einem Schema-Objekt in statischem Block zu machen:Werden XSD-Importe beim Laden von Ressourcen automatisch geladen?
URL url = getClass().getClassLoader().getResource("test.xsd");
und Test.xsd wird drei andere XSD-Datei importieren,
Meine Frage ist, werden ihnen die Importe zur Verfügung, wenn Referenz wird gemacht (wie bei der Validierung), oder muss ich die Importe speziell durch URL-Objekt laden.
ist es nicht ganz richtig. 1. 'getResource()' lädt nichts. Es gibt nur URL zur Ressource. 'getResourceAsStream()' tut das. Aber ... für irgendwelche XSD-Prozessoren (d. H. Validator) haben alle von Klassenlader-Ressourcen geladenen Ressourcen keine Bedeutung. Es wird versuchen, "Importe" zu laden, indem Sie den in XSD definierten Schema-Speicherort öffnen. – Vadim
Ich nehme an, Sie haben Recht, dass meine Antwort für 'getResourceAsStream()' passender wäre. – kjhughes
Ja. Ich bin immer mit ihnen beschäftigt. :-) 'getResource()' ist kein logischer Name, um nur URL zu erhalten. Zuerst aber ist es, dass es eine Ressource sich selbst gibt ... – Vadim