0
我想從ER模型創建一個新的XML Schema。 我有以下模型。XML Schema實體關係
[Type1]--(1:M)--->(doSomething)<---(0:N)--[Type2]
屬性:
[類型1]:ID1,文字
[類型2]:ID2,文字
現在我想創建該模型中的XML Schema 。我已經創建了一個Schema,但我認爲我沒有正確的關係(1:M)和(0:N)。
任何人都可以解釋我如何實現正確的關係?
這是我目前的XML Schema。
<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>