是否可以限制complexType的子元素存在于另一个complexType的子元素中。
例如
<xs:element name="people">
<xs:complexType>
<xs:sequence>
<xs:element name="person" type="personType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="companies">
<xs:complexType>
<xs:sequence>
<xs:element name="company" type="companyType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
现在在companyType中我希望员工应限制在上面的people元素中。
答案 0 :(得分:1)
我已经为公司名称和人员推荐人创建了一个密钥。
<xs:key name="CompanyKey" >
<xs:selector xpath="./companies/company" />
<xs:field xpath="name" />
</xs:key>
<xs:keyref name="CompanyKeyRef" refer="CompanyKey">
<xs:selector xpath="./people/person" />
<xs:field xpath="@company_name" />
</xs:keyref>
我只是将它们放在xsd文件中的根元素中。
现在它就像一个数据库。公司名称是关键,人的公司名称是外键。所以公司和个人之间有很多关系。