1

スキーマを定義するときに使用したすべての例では<xs:choice>、要素は常に単純な要素であり、外部の型を参照する場合がありますが、独自のサブ要素を持つことはありません。これはルールですか、それとも慣習ですか?たとえば、これを行うことは可能ですか?

<xs:element name="shape">
  <xs:complexType>
    <xs:choice>
      <xs:element name="circle">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="radius" type="xs:decimal" />
            <xs:element name="x" type="xs:integer" />
            <xs:element name="y" type="xs:integer" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="rectangle">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="length" type="xs:integer" />
            <xs:element name="width" type="xs:integer" />
            <xs:element name="x" type="xs:integer" />
            <xs:element name="y" type="xs:integer" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:choice>
  </xs:complexType>
</xs:element>

これは、書くこととほぼ同じです

data Shape = Circle Double Int Int
           | Rectangle Int Int Int Int

ハスケルで。

4

1 に答える 1