Xsd &引用;类型[名称空间:类型]未声明";但我认为这是正确的

Xsd &引用;类型[名称空间:类型]未声明";但我认为这是正确的,xsd,xsd-validation,Xsd,Xsd Validation,我正在使用VisualStudio2013开发一个XSD模式,该模式导入另一个模式以使用其“Neck”类型。由于某些原因,Visual Studio不喜欢我使用type=“wn:Neck”,导致标题中提到的错误。下面是我的父模式,之后是子模式。从视觉上看,模式看起来是正确的,但VS2013不同意。有人知道为什么会这样吗?我见过类似的问题,但还没有找到解决这个问题的直接方法 母公司 <?xml version="1.0" encoding="utf-8"?> <xs:schema

我正在使用VisualStudio2013开发一个XSD模式,该模式导入另一个模式以使用其“Neck”类型。由于某些原因,Visual Studio不喜欢我使用type=“wn:Neck”,导致标题中提到的错误。下面是我的父模式,之后是子模式。从视觉上看,模式看起来是正确的,但VS2013不同意。有人知道为什么会这样吗?我见过类似的问题,但还没有找到解决这个问题的直接方法

母公司

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:wn="http://fxb.co/xsd/warmoth/neck.xsd"           
           targetNamespace="http://fxb.co/xsd/warmoth/customitem.xsd">
  <xs:import namespace="http://fxb.co/xsd/warmoth/neck.xsd" schemaLocation="./Neck.xsd"/>
  <xs:element name="CustomItems">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CustomItemOption">
          <xs:complexType>
            <xs:sequence>                  
              <xs:element minOccurs="0" maxOccurs="unbounded" name="Neck" type="wn:Neck" />            
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

孩子


在父XSD中,更改

<xs:element minOccurs="0" maxOccurs="unbounded" name="Neck" type="wn:Neck" />            


因为您希望从子XSD的命名空间中引用Neck元素,而不是type

<xs:element minOccurs="0" maxOccurs="unbounded" name="Neck" type="wn:Neck" />            
<xs:element minOccurs="0" maxOccurs="unbounded" ref="wn:Neck" />