どのように除外の列挙値のXMLファイルを使用XSD?
-
22-09-2019 - |
質問
可能での値を指定するaタグや属性 べきではないように some_value ?
私は不思議な要件は、xsdな価値と行動を認識するに送られます。の価値を特定のタグの文字列を指定することもできます任意の値 のものを除く価値 (言 data_migration
).
に送信され、エラーが特定の値が送信されます。
はを指定できることが?
解決
私は正規表現専門家だが、この単純では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を使用しています。
パターンやパターンが含まれているべきではありませんどのようなあなたの場合のように指定するには、
正規表現を使用します。
所属していません StackOverflow