3

タグまたは属性の値をsome_valueのようにしないよう に指定することは可能ですか?

xsd が送信された値を認識しないという奇妙な要件があります。その特定のタグの値は、 1 つの値(たとえば)を除くdata_migration任意の値を持つ文字列にすることができます。

その特定の値が送信された場合、送信者はエラーで確認応答される必要があります。

この制限を指定することは可能ですか?

4

2 に答える 2

2

私は正規表現の専門家ではありませんが、この simpleType により、すべてがdata_migration無効になります。

<xs:simpleType name="notDataMigration">
  <xs:restriction base="xs:string">
    <xs:pattern value="^(?!data_migration).*" />
  </xs:restriction>
</xs:simpleType>
于 2010-03-24T14:19:23.723 に答える
2

値を具体的に除外できるかどうかはわかりません。これが役立つかどうかはわかりませんが、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 を使用します。

于 2010-03-24T14:14:35.227 に答える