Я хочу создать новую XML-схему из ER-модели. У меня есть следующая модель.Связь с XML Schema
[Type1]--(1:M)--->(doSomething)<---(0:N)--[Type2]
Атрибуты:
[Type1]: ID1, Текст
[Type2]: ID2, Текст
Теперь я хочу, чтобы создать XML-схемы для этой модели , Я уже создал схему, но думаю, что у меня нет правильных отношений (1: M) и (0: N).
Может ли кто-нибудь объяснить мне, как реализовать правильные отношения?
Это моя нынешняя схема XML.
<xs:element name="XMLModel">
<xs:complexType>
<xs:sequence>
<xs:element name="MyType1" type="type1" maxOccurs="unbounded">
<xs:key name="MyType1_ID">
<xs:selector xpath="MyType1"/>
<xs:field xpath="ID1"/>
</xs:key>
</xs:element>
<xs:element name="MyType2" type="type2" maxOccurs="unbounded">
<xs:key name="MyType2_ID">
<xs:selector xpath="MyType2"/>
<xs:field xpath="ID2"/>
</xs:key>
</xs:element>
<xs:element name="DoSomething" type="typeDo" maxOccurs="unbounded">
<xs:keyref name="Ref1" refer="MyType1_ID">
<xs:selector xpath="DoSomething"/>
<xs:field xpath="child::MyType1"/>
</xs:keyref>
<xs:keyref name="Ref2" refer="MyType2_ID">
<xs:selector xpath="DoSomething"/>
<xs:field xpath="child::MyType2"/>
</xs:keyref>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="type1">
<xs:sequence>
<xs:element name="Text" type="xs:string"/>
<xs:element name="ID1" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="type2">
<xs:sequence>
<xs:element name="Text" type="xs:string"/>
<xs:element name="ID2" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="typeDo">
<xs:all>
<xs:element name="MyType1" type="xs:integer"/>
<xs:element name="MyType2" type="xs:integer"/>
</xs:all>
</xs:complexType>