XML:.xsd:错误:根元素后面的文档中的标记必须格式正确

时间:2017-02-26 17:59:05

标签: xml xsd schema

我指的是this video来理解架构。

我做的和那里解释的相同:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://www.telusko.com/AlienSchema"
xmlns:tns="http://www.telusko.com/AlienSchema" 
elementFormDefault="qualified"></schema>

<complexType name="alienstype">
<sequence>
    <element name="alien" type="tns:alientype"></element>
</sequence>
</complexType>

<complexType name="alientype">
<sequence>
    <element name="name" type="string"></element>
    <element name="salary" type="integer"></element>
</sequence>
<attribute name="aid" type="ID" use=required""></attribute>
</complexType>

但我收到的错误是:

  

描述资源路径位置类型   根元素后面的文档中的标记必须格式正确。 AlienSchema.xsd / XMLExamples第7行XML模式问题

有人可以告诉我,我做错了,为什么我会收到这个错误。提前谢谢。

1 个答案:

答案 0 :(得分:1)

XML / XSD文件中有两个错误:

  • 您正在关闭开头的<schema ...>标记,导致文件格式不正确
  • 您的属性<attribute name="aid" type="ID" use=required""></attribute>未正确定义其值use。它应该是use="required"而不是。

所以正确的文件看起来像这样:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.telusko.com/AlienSchema" targetNamespace="http://www.telusko.com/AlienSchema" elementFormDefault="qualified">
    <complexType name="alienstype">
        <sequence>
            <element name="alien" type="tns:alientype"/>
        </sequence>
    </complexType>
    <complexType name="alientype">
        <sequence>
            <element name="name" type="string"/>
            <element name="salary" type="integer"/>
        </sequence>
        <attribute name="aid" type="ID" use="required"/>
    </complexType>
</schema>