Импорт схемы, которая импортирует другую схему, используя исходное пространство имен - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть коллекция схем, которые я пытаюсь использовать для проверки XML-документа с помощью Nokogiri.

У меня есть схема верхнего уровня с пространством имен http://example.com/root.Он импортирует другую схему, Extension.xsd, с пространством имен http://example.com/extension и включает в себя схему Types.xsd (которая, очевидно, имеет пространство имен http://example.com/root).

Схема Extension.xsd с пространством именhttp://example.com/extension, импортирует схему Types.xsd с пространством имен http://example.com/root.

Когда я пытаюсь заставить Nokogiri загрузить корневую схему, он жалуется - Element import: The schema document Types.xsd cannot be imported, since it was already included or redefined.

Когда я избавляюсь от оператора import из файла Extension.xsd, Нокогири говорит, что ссылки на пространство имен http://example.com/root недопустимы, поскольку ничего не было импортировано.Когда я избавляюсь от оператора включения из корневого файла схемы, Нокогири говорит, что элемент, используемый в корневой схеме из Types.xsd, не разрешается в объявлении элемента.

Любая идея, как я могу получить Нокогири дляпринять эту структуру схемы?Это даже действительная схема?

1 Ответ

1 голос
/ 16 февраля 2012

Совершенно верно иметь циклические объявления xs: import в схеме, действительно, как показывает этот пример, это часто необходимо.Я не знаю Nokogiri, поэтому я не знаю, есть ли решение.

...