Question

Nous avons une demande d'implémentation de notre réponse WebService afin que les chiffres de fraction décimale: décimal soient zéro padés lorsqu'il n'est pas assez long quand un modèle l'indique. Je me demande s'il s'agit d'une demande raisonnable et si XSD: Decimal est censé être utilisé avec des modèles comme ceux-ci. Voici la partie pertinente du XSD selon leurs spécifications:

<xsd:simpleType>
   <xsd:restriction base="xsd:decimal">
       <xsd:totalDigits value="14"/>
       <xsd:fractionDigits value="2"/>
       <xsd:pattern value="[\-+]?[0-9]{1,12}[.][0-9]{2}"/>
   </xsd:restriction>
</xsd:simpleType>

Ainsi, les Fraction Digits sont définis sur 2, ce qui signifie que la précision peut être un maximum de 2 chiffres. Selon http://zvon.org/xxl/xmlschematutorial/output/ser_types_st2.html C'est aussi bien s'il y a moins de chiffres de fraction (par exemple pour un nombre comme 5.1)

Mais selon le modèle {2}, il devrait toujours y avoir 2 chiffres de fraction.

Nous développons une plate-forme générique de développement d'applications et on ne sait pas à quoi la décimale sera utilisée à l'avance (monnaie, valeurs de pH, distances, etc.). Ce cas provient d'un projet spécifique où notre plate-forme est utilisée, mais normalement nous ne saurons pas quel type de données est transférée. Nous pourrions décider de simplement suivre le WSDL à cet égard qui indique qu'il devrait avoir 2 chiffres de fraction. Mais notre implémentation doit être très générique.

Il n'y a rien d'énoncé avec ce que ces chiffres de fraction devraient être rembourrés ou même que nous devons remplir au lieu de simplement laisser de côté cette décimale. En théorie, nous pourrions décider de remplir avec 5 jusqu'à ce qu'il correspond au modèle. Pour autant que je sache, les modèles sont rarement utilisés et s'ils sont utilisés pour des choses comme les mots de passe. La spécification XSD est cependant vague, il serait donc apprécié que quelqu'un puisse éclairer si cela est une utilisation valable d'un XSD et s'il est logique pour nous de décider de remplir les 0.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top