Я определил некоторые глобальные элементы в моей схеме xsd. Теперь, если XML-файл содержит какой-либо один из глобальных элементов (без каких-либо других корневых элементов), проверка не должна этого допустить. Но в моем случае, если присутствует только глобальный элемент, файл успешно проверен.
В моем случае есть элемент GROUP, который является глобальным элементом. Этот элемент всегда должен содержаться в элементе CASE, но если удалить элемент CASE, файл xml все равно будет успешно проверен.
Я не могу сделать элемент GROUP локальным, так как он имеет некоторую сложную логику (рекурсивные обращения к себе) и используется более чем в одном месте. Более того, когда я пытался сделать его локальным, он выдавал ошибки.
Теперь есть какое-либо решение ограничить его использование вне элемента CASE.
Пример (Разрешено):
<?xml version="1.0" encoding="utf-8" ?>
<CASE>
<GROUP>
</GROUP>
</CASE>
Не разрешено:
<?xml version="1.0" encoding="utf-8" ?>
<GROUP>
</Group>