Domanda

Abbiamo una richiesta di implementare la nostra risposta WebService in modo che XSD: le cifre di frazione decimale vengano abbreviate a zero quando non è abbastanza lungo quando uno schema lo indica. Mi chiedo se questa sia una richiesta ragionevole e se XSD: Decimal dovrebbe essere usato con motivi come questi. Ecco la parte rilevante del XSD secondo le loro specifiche:

<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>

Quindi le dighe di frazioni sono impostate su 2, il che significa che la precisione può essere massima di 2 cifre. Secondo http://zvon.org/xxl/xmlschematutorial/output/ser_types_st2.html Va bene anche se ci sono meno cifre della frazione (ad esempio per un numero come 5.1)

Ma secondo il modello {2} ci dovrebbero essere sempre 2 cifre di frazione.

Stiamo sviluppando una piattaforma di sviluppo di applicazioni generiche e non si può dire per cosa verrà utilizzato il decimale (valuta, valori di pH, distanze, ecc.). Questo caso proviene da un progetto specifico in cui viene utilizzata la nostra piattaforma, ma normalmente non sapremo quale tipo di dati vengano trasferiti. Potremmo decidere di seguire il WSDL in questo senso che afferma che dovrebbe avere 2 cifre di frazione. Ma la nostra implementazione deve essere molto generica.

Non c'è nulla che affermi con ciò che esattamente queste cifre di frazione dovrebbero essere imbottite o addirittura che dovremmo imbottirci invece di lasciare completamente questo decimale. In teoria, potremmo decidere di assumere 5 fino a quando non corrisponde al modello. Per quanto ne so, i modelli sono usati raramente e se sono usati per cose come le password. La specifica XSD è vaga, quindi sarebbe apprezzato se qualcuno potesse far luce sul fatto che si tratti di un uso valido di un XSD e se ha senso decidere di riscuotere con 0.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top