Ссылка на XML-схему - PullRequest
       46

Ссылка на XML-схему

3 голосов
/ 20 октября 2010

У меня есть две XML-схемы.Первый (A.xsd) находится в файле jar библиотеки (mylib.jar), а второй (B.xsd) - в моем проекте.

Я хочу импортировать A.xsd в B.xsdи проверять входящий XML через Jaxb2Marshaller встроенный валидатор.

Однако я не могу заставить его работать должным образом: кажется, что внутренний валидатор XML Jaxb2Marshaller не понимает ссылки на файлы в jar-файлахпросто хочу написать что-то вроде <xs:import namespace="http://my/schema.xsd" schemaLocation="classpath:schema.xsd">).

Как это можно исправить?Как можно ссылаться на схему библиотеки из схемы проекта?

Ответы [ 3 ]

4 голосов
/ 20 октября 2010

Ознакомьтесь с моим ответом на предыдущий вопрос о том, как ResourceResolver можно использовать для решения этой проблемы:

Ваша реализация LSResourceResolver будет обрабатывать загрузку схемы из пути к классам и преобразовывать ее в соответствующий результат.

1 голос
/ 20 октября 2010

Вам нужно будет настроить свой собственный распознаватель.Ничто в jaxb не будет использовать classpath:

0 голосов
/ 20 октября 2010

classpath: недопустимый URL-адрес для расположения схемы.Вам нужно будет использовать XML-каталоги для загрузки схем из jars.

...