XML-схема xsd TotalDigits против MaxInclusive
я столкнулся с XML-схемой со следующим определением:
<xs:simpleType name="ClassRankType">
<xs:restriction base="xs:integer">
<xs:totalDigits value="4"/>
<xs:minInclusive value="1"/>
<xs:maxInclusive value="9999"/>
</xs:restriction>
</xs:simpleType>
однако мне кажется, что totalDigits
избыточна. Я несколько новичок в XML-схеме и хочу убедиться, что ничего не пропустил.
каково фактическое поведение totalDigits
и maxInclusive
?
Can totalDigits
всегда быть представленным с комбинацией minInclusive
и MaxInclusive
?
как totalDigits
влияет на отрицательные числа?
2 ответов
могут ли totalDigits всегда быть представлены комбинацией minInclusive и MaxInclusive?
в данном случае, да. Поскольку вы имеете дело с целым числом, значение должно быть целым числом, поэтому у вас есть конечный набор значений между minInclusive
и maxInclusive
. Если у вас были десятичные значения,totalDigits
скажет вам, сколько чисел в общей сложности это значение может иметь.
как totalDigits влияет на отрицательные числа?
Это общее количество цифр в числе, и не зависит от запятой, минуса и т. д. От auxy.com:
число, указанное атрибутом value
<xsd:totalDigits>
фасет ограничит общее количество цифр, которые разрешены в номере, с обеих сторон десятичной точки.
totalDigits-общее количество цифр, которое может иметь число, включая десятичные числа. Таким образом, totalDigits 4 позволит 4.345 или 65.43 или 932.1 или 4-значное целое число, как в приведенном выше примере. То же самое с негативом. Любой из этих предыдущих примеров может быть отрицательным и по-прежнему проверять как totalDigits 4.
max и min inclusive / exclusive ограничивают диапазон чисел. Maxinclusive может показаться немного избыточным в вашем примере, но mininclusive гарантирует, что число больше 0.