TotalDigits XML Schema XSD vs. maxInclusive
Pergunta
Eu ter executado através de um esquema XML com a seguinte definição:
<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>
No entanto, parece-me que totalDigits
é redundante. Eu sou um pouco novo para XML Schema, e quero ter certeza que eu não estou faltando alguma coisa.
O que é o comportamento real do totalDigits
vs. maxInclusive
?
Pode totalDigits
ser sempre representado com uma combinação de minInclusive
e MaxInclusive
?
Como o totalDigits
afetar os números negativos?
Solução
pode totalDigits ser sempre representado com uma combinação de minInclusive e maxInclusive?
Neste caso, sim. Como você está lidando com um número inteiro, o valor deve ser um número inteiro, então você tem um conjunto finito de valores entre minInclusive
e maxInclusive
. Se você tivesse valores decimais, totalDigits
iria dizer-lhe quantos números no total que o valor poderia ter.
Como o totalDigits afetar os números negativos?
É o número total de dígitos permitidos no número, e não é afetado por pontos decimais, menos sinais, etc. A partir auxy.com :
O número especificado pelo atributo valor da faceta
<xsd:totalDigits>
irá restringir o número total de dígitos que são permitidos em número, em ambos os lados do ponto decimal.
Outras dicas
totalDigits é o número total de dígitos o número pode ter, incluindo números decimais. Assim, um totalDigits de 4 permitiria 4,345 ou 65,43 ou 932,1 ou um conjunto inteiro de 4 dígitos como no exemplo acima. Mesmo para negativo. Qualquer um desses exemplos anteriores podem ser feitas negativo e ainda validar como um totalDigits de 4.
inclusive max e min / limite exclusivo da gama de números. O maxInclusive pode parecer ser um pouco redundante no seu exemplo, mas o minInclusive faz certo o número é maior do que 0.