это общий вопрос проверки XSD.Я пытаюсь адаптировать схему XSD к существующему XML.Давайте создадим следующую ветку XML:
<briefing>
<date/>
<supplier/>
<customer/>
...
<q>question 1</q>
<a>answer 1</a>
<q>question 2</q>
<a>answer 2</a>
...
</briefing>
Теперь для каждого брифинга у меня может быть 1 клиент, 1 поставщик и N пар вопросов и ответов: если я хочу получить контроль над парой q + a, я долженсоздать элемент <qa>
, имеющий maxOccurs=unbounded
и включающий в последовательность <q>+<a>
, каждый из которых имеет minOccurs=maxOccurs=1
.Но что, если элемент <qa>
недоступен в XML?Я хотел бы создать «абстрактный» <qa>
элемент (или группу) таким образом, чтобы родительский абстрактный элемент НЕ генерировался вообще, но его дети все еще могут присутствовать со своими атрибутами (вроде virtual) элемент).В любом случае, ни абстрактные элементы, ни группы не были проверены таким образом, и я не смог найти что-то похожее в спецификациях ...
Итак, наконец, что мы можем сказать об элементах такого типа?
Это так?обязательно, чтобы каждый родительский элемент XSD присутствовал в окончательном XML, чтобы его дочерние элементы присутствовали внутри?