错误:元素“xsd:schema”的前缀“xsd”没有被绑定



我得到一个错误,说

元素"xsd:element"的前缀"xsd"没有被绑定。

我的XSD文件如下:

<?xml version="1.0"?>
<!--XSD schema for file companylist.xml-->
<CompanyList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="companies.xsd"> 
    <xsd:element name="CompanyList">
      <xsd:complexType>
      <xsd:sequence>
      <xsd:element name="Company"
                 maxOccurs="unbounded">
          <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="CompanyID"
                    type="xsd:integer"/>
            <xsd:element name="contactname"
                    type="xsd:string"/>
          </xsd:sequence>
          </xsd:complexType>
      </xsd:element>
      </xsd:sequence>
      </xsd:complexType>
    </xsd:element>
</xsd:schema>

如何修复这个错误?

要解决这个错误,

元素" xsd:schema "的前缀" xsd "没有被绑定

在XSD的根schema元素上定义xsd名称空间前缀如下:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

还要注意,XSD的第一个标记似乎来自XML文档实例。

这是解决了上述问题的整个XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="CompanyList">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Company" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="CompanyID" type="xsd:integer"/>
              <xsd:element name="contactname" type="xsd:string"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

最新更新