Schema 中的 key 元素
Schema中的key元素描述的是各個元素之間的關系,在VS.net中,顯示出來的概念是“關系”。key必須和keyref聯合使用,其中的關系就是 keyref 中的結果集合必須被包含在 key 的結果集中。用VS.net的話說就是key對應的就是“父元素”而keyref對應的就是子元素了---一個包含一個嘛!
另外還要說一句的是,其實key和keyref的定義可以在element元素中的,不過VS.net好像都定義在根元素下面,定義在其他位置設計器找不到哦。
一下就是例子,為了避免干擾,我把無關元素都刪除了:
<xs:element name="Dictionary">
<xs:element name="Types">
<xs:element name="Declare" >
<xs:element name="Name" type="xs:ID" />
<xs:element name="Type" type="xs:string" />
</xs:element>
</xs:element>
</xs:element>
</xs:element>
<xs:element name="Element" >
<xs:element name="Name" type="xs:string" />
<xs:element name="Type" type="xs:string" />
</xs:element>
</xs:element>
<xs:key name="DeclareTypes">
<xs:selector xpath=".//NS:Declare" />
<xs:field xpath="NS:Name" />
</xs:key>
<xs:keyref name="DeclareElement" refer="DeclareTypes">
<xs:selector xpath=".//NS:Element" />
<xs:field xpath="NS:Type" />
</xs:keyref>

公眾號:老翅寒暑
浙公網安備 33010602011771號