我有像这样的简单模式
> <?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
在另一个模式中,我想引用personinfo:country,我该如何引用它?
<xs:element name="country" type="how do i refer this" minOccurs ="0" maxOccurs ="1">
</xs:element>
答案 0 :(得分:1)
您的简单架构的作者努力使其无法从其他架构文档中引用“country”元素,将其设置为fullpersoninfo
类型的本地元素,而不是将其设置为顶级元件。如果架构无法更改,那么您就会受到冲击。
如果可以更改架构以便可以重用要重用的构造,那么您将需要包含或导入相关的架构文档,然后您将使用其限定名称来引用它们。但看起来你是否想要引用country
元素或country
元素的类型有点不确定;如果你想制作一个连贯的架构,你需要下定决心。