1

XML スキーマで型を作成して、両方の要素を適用しようとしています。

  • 単一の属性。と
  • 列挙に一致する単純なコンテンツ。

XML ドキュメントでは、要素は次のようになります。

<Operator Permutation="true">
  Equals
</Operator>

「Equals」は列挙の 1 つです。

これは可能ですか?もしそうなら、どのように?

XMLSpy で実行しようとしましたが、成功しませんでした。単純なタイプを作成すると、属性のないコンテンツの列挙のみが許可されます。複雑なタイプを作成すると、コンテンツの列挙がない属性のみが許可されます。

編集: ありがとう、デビッド。それは完全に機能しますが、検証で改行が無視されるように、これを制限内に追加しただけです。

<xs:whiteSpace value="collapse"/>
4

1 に答える 1

2

どうですか

  <xs:element name="Operator" type="MixedElement" />

  <xs:complexType name="MixedElement">
    <xs:simpleContent>
      <xs:extension base="EnumType">
        <xs:attribute name="Permutation" type="xs:boolean">
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:simpleType name="EnumType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Equals"/>
      <xs:enumeration value="NotEquals"/>
    </xs:restriction>
  </xs:simpleType>
于 2008-12-05T00:58:58.403 に答える