1
스키마를 정의 할 때 <xs:choice>
을 사용하여 보았던 모든 예제에서 요소는 항상 단순 요소이며 일부 외부 유형을 참조 할 수는 있지만 자체 하위 요소는 절대로 사용할 수 없습니다. 이것이 규칙인가, 대회인가? 예를 들어, 이렇게 할 수 있습니까? 하스켈에서XML 스키마 : 선택 요소에 복합 형식 사용?
data Shape = Circle Double Int Int
| Rectangle Int Int Int Int
를 작성하는 약에 해당하는 것
<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>
.