Xsd 参考XML模式扩展

Xsd 参考XML模式扩展,xsd,Xsd,我有这样的简单模式 > <?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 nam

我有这样的简单模式

> <?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,我如何引用它



您的简单模式的作者通过将“country”元素设置为
fullpersoninfo
类型的本地元素,而不是顶级元素,努力使其无法从另一个模式文档中引用。如果模式无法更改,您将被套住


如果可以更改模式以重用要重用的构件,则需要包含或导入相关的模式文档,然后使用它们的限定名称引用它们。但是,您似乎有点不确定是要引用
country
元素还是
country
元素的类型;如果你想产生一个连贯的模式,你需要下定决心。

这只是一个例子。实际情况不同。我有两个不同的XSD中的PersonInfo和fullpersoninfo,我无法更改它们。我想在这个例子中提到国家因素。如果你的例子提供了一个技术上准确的情况描述,那么你的问题已经得到了回答。如果没有,那么你问错了问题,你问的问题已经得到了回答。不管怎样,祝你好运。