【问题标题】:XSD: Cannot resolve the name to a(n) 'type definition' componentXSD:无法将名称解析为(n)“类型定义”组件
【发布时间】:2020-11-24 22:19:01
【问题描述】:

我正在尝试使用 XSD 验证 XML。这是我的 XML 文件:

<PRODUCTS>
    <SELLER>ME</SELLER>
    <CURRENCY>EURO</CURRENCY>
  <PRODUCT>
    <NAME>LAPTOP</NAME>
    <MODEL>DELL</MODEL>
    <PRICE>2500</PRICE>
    <STOCK>100</STOCK>
  </PRODUCT>
  <PRODUCT>
    <NAME>PHONE</NAME>
    <MODEL>IPHONE</MODEL>
    <PRICE>1500</PRICE>
    <STOCK>100</STOCK>
  </PRODUCT>
  <PRODUCT>
    <NAME>TABLET</NAME>
    <MODEL>SAMSUNG</MODEL>
    <PRICE>3000</PRICE>
    <STOCK>700</STOCK>
  </PRODUCT>
</PRODUCTS>

和 XSD 文件:

<xs:element name="PRODUCTS" type="ProductType"/>
  
  <xs:ComplexType name="ProductType">
    <xs:all>
        <xs:element type="xs:string" name="SELLER"/>
        <xs:element type="xs:string" name="CURRENCY"/>
        <xs:element type="Products" name="PRODUCT"/>
    </xs:all>
  </xs:ComplexType>
  
  <xs:ComplexType name="Products">
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element name="PRODUCT" type="Products"/>
    </xs:sequence>
  </xs:ComplexType>
  
  <xs:complexType name="Products">
    <xs:sequence>
      <xs:element type="xs:string" name="NAMES"/>
      <xs:element type="xs:string" name="MODEL"/>
      <xs:element type="xs:int" name="PRICE"/>
      <xs:element type="xs:int" name="STOCK"/>
    </xs:sequence>
  </xs:complexType>
  
</xs:schema>

但是当我尝试验证这一点时,我得到了错误

src-resolve:无法将名称“ProductType”解析为(n)“类型定义”组件。

我无法弄清楚为什么会收到此错误以及如何解决此问题。我看到的问题出在 XSD 文件的第一行元素中。

【问题讨论】:

    标签: xml xsd xsd-validation xml-validation


    【解决方案1】:

    XML 和 XSD 区分大小写,因此将 XSD 中出现的所有 xs:ComplexType 更改为 xs:complexType 以解决直接问题。


    更新,下期从 cmets 迁移:

    现在由于Products 的重复而出现新错误:架构不能包含两个同名的全局组件;此架构包含两次出现的 Products

    不能以两种不同的方式使用相同的名称定义类型。看起来第二个 Products 在引用 (@type) 和定义 (xs:complexType/@name) 中都应该是 Product

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      相关资源
      最近更新 更多