Проверка XSD: общие цифры и дробные цифры

У меня есть определение ограничения XSD:

<xs:restriction base="xs:decimal">
  <xs:totalDigits value="15"/>
  <xs:fractionDigits value="2"/>
</xs:restriction>

мой процессор XSD (а именно, Altova XML Spy) считает допустимым следующий фрагмент XML:

<MySum>123456789012345.00</MySum>

хотя он имеет в общей сложности 17 цифр. Однако,

<MySum>123456789012345.01</MySum>

считается недействительным.

Правильно ли ведет себя процессор? Я думал, что он не должен пытаться округлять значения


person gisly    schedule 14.05.2018    source источник
comment
Рассмотрите возможность добавления шаблона, если у вас есть особые требования, например [0–9]{17}\.[0–9]{2}.   -  person Sprotty    schedule 28.05.2018
comment
Да, но в нашем случае схема создается извне, и мы не можем ее изменить. Вопрос заключался в том, было ли поведение проверяющего программного обеспечения правильным или нет.   -  person gisly    schedule 28.05.2018


Ответы (1)


Согласно https://www.w3.org/TR/xmlschema-2/#rf-fractionDigits, что "по-прежнему разрешено добавление ... начальных нулевых цифр или конечных дробных нулевых цифр". Таким образом, поведение кажется правильным.

person gisly    schedule 15.05.2018