XSD с «обязательным» запросом атрибута - PullRequest
0 голосов
/ 21 февраля 2020

Я новичок в XSD и XML и мне нужно выяснить, есть ли возможность убедиться, что требуется какой-либо один атрибут в наборе атрибутов в пределах одного элемента.

Пример:

xs: element name = "condition" maxOccurs = "unbounded" minOccurs = "1"

                  xs:attribute type="xs:string" name="alias1" use="required"
                  xs:attribute type="xs:string" name="col1" use="required"
                  xs:attribute type="xs:string" name="operator" use="required"
                  xs:attribute type="xs:string" name="string" use="optional"
                  xs:attribute type="xs:string" name="number" use="optional"
                  xs:attribute type="xs:string" name="date" use="optional"

Здесь я хочу убедиться, что минимум один атрибут в наборе из 3 атрибутов (упомянутых выше как необязательные) ) являются обязательными. Все не может быть необязательным, однако требуется любой (может быть больше одного).

Спасибо, Раджни sh

1 Ответ

1 голос
/ 21 февраля 2020

Этого нельзя сделать в XSD 1.0. Это можно сделать в XSD 1.1, используя утверждения, например

<xs:assert test="count(@alias1, @col1, @operator, ...) ge 1"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...