我有以下元素(请原谅语法):-
<xs:complexType name="shop_T">
<xs:element name="city" type="xs:string" />
<xs:element name="other_info" type="other_info_T" />
</xs:complexType>
现在我希望以两种方式引用这个 complexType
<xs:element name="list_shops_in_city">
<xs:element name="city" type="xs:string" />
<xs:element name="shop" type="shop_T" maxOccurs="unbounded"/>
</xs:element>
<xs:element name="order">
<xs:element name="shop" type="shop_T" />
</xs:element>
如果 shop_T 用于城市范围的商店列表,我是否可以强制执行它的子元素“city”的值应该与列表本身的值相同的约束。如果它是单独使用的,那么城市可以是任何东西。?
如果这不能用 XML Schema 完成,那么是否有另一种方法可以使用标准验证技术(比如使用 DTD。我只熟悉 XML Schema,所以我可以通过阅读另一种技术来完成)?还是我需要在我的应用程序逻辑中对此进行编码?