Проверка XML на XSD с нулевым ложным значением для строковых типов - PullRequest
0 голосов
/ 19 сентября 2019

В настоящее время я использую javax.xml.validation.Validator для проверки xml на соответствие данным xsd.

Sample xsd:
        <xs:element type="xs:string" name="att1"/>
xml :
        <attr1/>

В приведенном выше примере по умолчанию nillable будет иметь значение false, а minoccurs будет 1 для att1.Когда есть значение null для att1, в идеале проверка должна завершиться неудачей.Но проверка идёт к успеху.

Когда я явно указываю minlength для att1 как 1, тогда проверка не проходит.Это единственный способ достичь этого?Есть ли другой способ?

1 Ответ

0 голосов
/ 19 сентября 2019

То, как вы это сделали, правильно.Если вы хотите принять все строки, кроме строки нулевой длины, определите подтип xs:string с minLength = "1" и используйте его как тип элемента att1.

Забудьте xsi:nil и nillable.В XML лучший способ представления отсутствующих данных - это отсутствие элемента.

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