0

一部の要素を任意の順序で表示できるXSDスキーマを作成しようとしていますが、重複することはできません。

したがって、これは有効です。

<parent>
    <my-element-A>1</my-element-A>
    <my-element-B>2</my-element-B>
    <my-element-C>3</my-element-C>
</parent>

...そしてこれは有効です:

<parent>
    <my-element-B>2</my-element-B>
    <my-element-A>1</my-element-A>
    <my-element-C>3</my-element-C>
</parent>

しかし、これはそうではありません:

<parent>
    <my-element-A>1</my-element-A>
    <my-element-B>2</my-element-B>
    <my-element-A>1</my-element-A><!-- Fail! Duplicate my-element-A -->
    <my-element-C>3</my-element-C>
</parent>

XSDでこれを行うにはどうすればよいですか?

4

1 に答える 1

2

この<xs:all>要素は、「シーケンスのグループ化はサブシーケンスのセットであり、その一部またはすべてが空である可能性があるため、元のシーケンスの各メンバーがサブシーケンスの1つとのすべてのメンバーに1回だけ表示されます。すべてのサブシーケンスは元のシーケンスにあります。」

  <?xml version="1.0" encoding="UTF-8"?>
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="parent">
      <xs:complexType>
        <xs:all minOccurs="0">
          <xs:element name="my-element-A" type="xs:string"/>
          <xs:element name="my-element-B" type="xs:string"/>
          <xs:element name="my-element-C" type="xs:string"/>
        </xs:all>
      </xs:complexType>
    </xs:element>
  </xs:schema>
于 2012-12-01T22:15:32.543 に答える