タグまたは属性の値をsome_valueのようにしないよう に指定することは可能ですか?
xsd が送信された値を認識しないという奇妙な要件があります。その特定のタグの値は、 1 つの値(たとえば)を除くdata_migration
任意の値を持つ文字列にすることができます。
その特定の値が送信された場合、送信者はエラーで確認応答される必要があります。
この制限を指定することは可能ですか?
タグまたは属性の値をsome_valueのようにしないよう に指定することは可能ですか?
xsd が送信された値を認識しないという奇妙な要件があります。その特定のタグの値は、 1 つの値(たとえば)を除くdata_migration
任意の値を持つ文字列にすることができます。
その特定の値が送信された場合、送信者はエラーで確認応答される必要があります。
この制限を指定することは可能ですか?
私は正規表現の専門家ではありませんが、この simpleType により、すべてがdata_migration
無効になります。
<xs:simpleType name="notDataMigration">
<xs:restriction base="xs:string">
<xs:pattern value="^(?!data_migration).*" />
</xs:restriction>
</xs:simpleType>
値を具体的に除外できるかどうかはわかりません。これが役立つかどうかはわかりませんが、2 つの個別の列挙を作成してから、列挙の和集合を作成できます。
<xsd:simpleType name="IncludedEnumType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="pending" />
<xsd:enumeration value="in_process" />
<xsd:enumeration value="failed" />
<xsd:enumeration value="unknown" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ExcludedEnumType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="data_migration" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CombinedEnumType">
<xsd:union memberTypes="IncludedEnumType ExcludedEnumType" />
</xsd:simpleType>
IncludedEnumType
必要に応じて または のいずれかを使用しますCombinedEnumType
。を使用するIncludedEnumType
と、 の値が明らかに除外されますExcludedEnumType
。
このアプローチでは、IBM によるこの記事のソリューション 2 を使用します。