自分で定義したキーの要素または属性として、xml で別の complexType を参照するにはどうすればよいですか? 次の自己参照をモデル化するための正しいアプローチは何ですか? 最初のアプローチは可能ですか、それとも無限の自己参照につながりますか?
<xs:complexType name="Category">
<xs:sequence>
<xs:element name="ParentCategory" type="Category" minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="ChildCategory" type="Category" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="CategoryName" type="xs:string"></xs:attribute>
</xs:complexType>
また
<xs:complexType name="Category">
<xs:sequence>
<xs:element name="ChildCategory" type="Category" minOccurs="0" maxOccurs="unbounded"></xs:element>
</xs:sequence>
<xs:attribute name="CategoryName" type="xs:string"></xs:attribute>
<xs:attribute name="ParentCategory" type="xs:string"></xs:attribute>
</xs:complexType>
オブジェクト指向になりたいのですが、これが XML でどのように見えるかわかりません。ParentCategory を Category 型として参照するには、それ自体が ParentCategory 子要素などを持つ XML で Category 型を再度記述する必要があるのではないでしょうか... 無限の型参照につながります。