例外:cvc-elt.1.a无法找到元素'公司'的声明

时间:2017-08-09 08:32:06

标签: xml xsd

enter image description here

我的XML:

ready() {
    super.ready();
    this.addEventListener('click', this.myFunction.bind(this));
}

我的xsd文件:

<?xml version="1.0" encoding="UTF-8"?>

<company xmlns="urn:company.Namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
 xs:schemaLocation="urn:company.Namespace companyxsd.xsd">    
   <companyname>ABC company</companyname>
    <address>xyz street, India.</address>

    <department>
        <dname>Marketing</dname>
        <deptphoneno>9876543210</deptphoneno>
        <deptfaxno>0442456879</deptfaxno>
        <deptemail>marketing@abc.com</deptemail>

        <employee>
            <empid>101</empid>
            <ename>Rishie</ename>
            <emailid>rishie@abc.com</emailid>
            <phoneno>9876543211</phoneno>
        </employee>

        <contractemployee>
            <name>Ravi</name>
            <phoneno>9874563214</phoneno>
        </contractemployee>
    </department>

</company>    

我仍然对XML Schema等有点新意,并且一直在努力开发一些XML和XML模式。

模式代表了我真实XML的结构。

现在,当我尝试验证我的XML时,我收到此错误:

  

cvc-elt.1:找不到元素'company'的声明。 [7]

我认为这与公司元素上的命名空间问题有关,但我不确定。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的XML对XSD无效:我收到了许多错误,例如

Description: cvc-maxInclusive-valid: Value '9876543210' is not facet-valid with respect to maxInclusive '32767' for type 'short'.
Start location: 10:46

然而,你没有达到那个目的。这必须与您运行架构验证的方式有关,因此您需要告诉我们您正在运行哪个架构处理器以及如何运行它。

(顺便说一句,你不应该使用数字类型,例如xs:integer作为电话号码,因为数字类型假设前导零不重要。)