パターンが示すように十分な長さがない場合にxsd:decimalの小数桁がゼロで埋められるように、Webサービス応答を実装するように要求されています。これが妥当な要求であり、xsd:decimalがこのようなパターンで使用されることになっているのかどうか疑問に思っています。仕様に応じたxsdの関連部分は次のとおりです。
<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>
したがって、fractionDigitsは2に設定されます。これは、精度が最大2桁になる可能性があることを意味します。http://zvon.org/xxl/XMLSchemaTutorial/Output/ser_types_st2.htmlによると、小数桁が少ない場合でも問題ありません(たとえば、5.1のような数値の場合)。
ただし、パターン{2}によると、常に2桁の小数部が必要です。
私たちは汎用アプリケーション開発プラットフォーム(Mendix)を開発しており、小数が何に使用されるか(通貨、pH値、距離など)はわかりません。このケースは、プラットフォームが使用されている特定のプロジェクトに由来しますが、通常、どのような種類のデータが転送されているかはわかりません。この点に関しては、2桁の小数部が必要であると述べているWSDLに従うことを決定できます。しかし、それの実装は非常に一般的でなければなりません。
これらの小数桁を正確に何で埋めるべきか、あるいはこの小数を完全に除外するのではなく、埋めるべきであるかについては何も述べていません。理論的には、パターンと一致するまで5で埋めることを決定できます。私の知る限り、パターンはめったに使用されず、使用されている場合はパスワードなどに使用されます。XSDの仕様はあいまいですが、これがXSDの有効な使用法であるかどうか、および0で埋めることを決定することが理にかなっている場合は、誰かが光を当てることができれば幸いです。