xml - 异常 : src-resolve. 4.2:解析 xsd 中的组件时出错

标签 xml xsd

我正在尝试根据 xsd 验证 xml。下面是xsd

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns="http://www.w3schools.com" targetNamespace="http://www.xxxxxxxxxxxxx/xxxxxxxx" xmlns:cl="http://www.xxxxxx/contactlist" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xsd:complexType name="contactNumberType">
        <xsd:all>
            <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="number" type="xsd:integer" minOccurs="1" maxOccurs="1"/>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="contactNumbersType">
        <xsd:sequence>
            <xsd:element name="contact_number" type="contactNumberType" minOccurs="1" maxOccurs="2"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="contactType">
        <xsd:all>
            <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="company" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="jobtitle" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="emailadress" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="addresses" type="addressesType" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="contact_numbers" type="contactNumbersType" minOccurs="1" maxOccurs="1"/>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="addressType">
        <xsd:all>
            <xsd:element name="type" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="street_address1" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="street_address2" type="xsd:string" minOccurs="0" maxOccurs="1"/>
            <xsd:element name="suburb" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="postcode" type="xsd:integer" minOccurs="1" maxOccurs="1"/>
            <xsd:element name="state" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        </xsd:all>
    </xsd:complexType>

    <xsd:complexType name="contacts">
        <xsd:sequence>
            <xsd:element name="contact" type="contactType" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="addressesType">
        <xsd:sequence>
            <xsd:element name="address" type="addressType" minOccurs="1" maxOccurs="2"/>
        </xsd:sequence>
    </xsd:complexType>

</xsd:schema>

我收到以下异常。请帮助我了解我缺少的是什么

异常:src-resolve.4.2:解析组件“contactNumberType”时出错。

最佳答案

鉴于创作方法,您必须确保默认命名空间(xmlns 属性的值)与 targetNamespace 属性的值相匹配。

当您按名称引用类型、属性、attributeGroup、元素或组时,该名称是限定名称。如果您引用的名称没有前缀,则假定它在默认 namespace 中(如果指定),或者根本没有 namespace 。默认命名空间为 http://www.w3schools.com,处理器正在寻找 { http://www.w3schools.com }联系人号码类型;你的 XSD 定义了一个 { http://www.xxxxxxxxxxxxx/xxxxxxxx }contactNumberType,这显然不匹配。修复默认命名空间,修复您的引用。

xmlns="http://www.xxxxxxxxxxxxx/xxxxxxxxx"targetNamespace="http://www.xxxxxxxxxxxxx/xxxxxxxxx"

关于xml - 异常 : src-resolve. 4.2:解析 xsd 中的组件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19660494/

相关文章:

xml - 如何在 Xerces C++ 3.x (CodeSynthesis XSD) 中使用断言?

PHP/XPath : find text node that "starts with" a particular string?

xml - CPPcheck html报告

xml - 应采取哪些步骤将我的 XML 转换为 Core Data 对象?

java - cvc-复杂-类型.2.4.a : Invalid content was found starting with element 'beans:bean'

c# - 我可以在由 XSD C# 生成的类创建的 XML 中的同一标记处拥有 null 属性和其他属性吗?

java - 如何解析 XML 标签外的文本?

android - 如何将约束布局包含到另一个约束布局并在每个约束布局之间设置约束

xml - JAXB:两个版本的 XSD,一种对象模型

xml - 有没有办法让 Excel 在根元素中保留 XML 属性?