次の制限と要素を組み合わせた XSD スキーマがあります。
<?xml version="1.0" encoding="UTF-8"?>
...
<xsd:simpleType name="dollar11neg">
<xsd:restriction base="xsd:string">
<xsd:pattern value="-?\d?\d?\d?\d?\d?\d?\d?\d\.\d\d"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="Price" type="dollar11neg"/>
<xsd:element name="Item">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Price" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
XSD.exe は制限を生成しません。制限を含むクラスを生成できるツールを誰かが知っているかどうか疑問に思っています。
これの目的は、シリアル化中またはシリアル化の前に、フィールドの値が正しくない形式 (小数点以下の桁数がない) である場合、値に必要な形式を調べ、パターンの制限に基づいて修正するロジックを実装できることです。 .
また、xsd スキーマ全体を手動で調べて、各フィールドのパターンを見つけて、そのパターンをハードコーディングしたくはありません。