У меня есть набор схем, которые я пытаюсь использовать для проверки 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
.
Когда я избавляюсь от оператора импорта из файла Extension.xsd, Нокогири говорит, что ссылки на пространство имен http://example.com/root
не разрешены, поскольку ничего не было импортировано. Когда я избавляюсь от оператора include из файла корневой схемы, Нокогири говорит, что элемент, используемый в корневой схеме из Types.xsd, не разрешается в объявление элемента.
Любая идея, как я могу заставить Нокогири принять эту структуру схемы? Это даже действующая схема?