Как указать обязательный элемент с конкретным именем - PullRequest
0 голосов
/ 04 августа 2011

Допустим, существует следующая структура XML

<Autos> <Auto>A</Auto> <Auto>B</Auto> <Auto>C</Auto> </Autos>

Как сделать XSD по следующим правилам:
Autos может иметь любое количество элементов Auto.
Autos должен один элемент Auto со значением A.

Элементы Auto должны быть в неупорядоченном списке.

Попытки решения: Я пытался использовать выбор элементов xsd, все и последовательность, но не смог создать правильное решение

1 Ответ

0 голосов
/ 07 августа 2011

В древовидной структуре XML текст в элементе является дочерним элементом узла элемента.XML-схема проверяет элемент, рассматривая только его непосредственных потомков, а не дочерних.Поэтому, когда проверяется <Autos>, он видит только <Auto> <Auto> <Auto>, а не текстовые дочерние узлы.

Чтобы проверка <Autos> обеспечивала соблюдение ваших правил, вам необходимоиспользуйте разные имена для различения каждого Авто, например <AutoA>, ...

. Или, если XML фиксированный, «проверка» должна происходить вне схемы XML, например, в таблице стилей или логике программы..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...