Java cvc elt.1.a:找不到元素';人';
我正在尝试使用XSD验证我的XML文档。我尝试过为所有内容提供名称空间,包括默认名称空间。但是,错误仍然存在。如果有人能告诉我出了什么问题,我们将不胜感激Java cvc elt.1.a:找不到元素';人';,java,xml,validation,xsd,Java,Xml,Validation,Xsd,我正在尝试使用XSD验证我的XML文档。我尝试过为所有内容提供名称空间,包括默认名称空间。但是,错误仍然存在。如果有人能告诉我出了什么问题,我们将不胜感激 <?xml version="1.0" encoding="UTF-8" ?> <!-- <!DOCTYPE people SYSTEM "validator.dtd"> --> <people xmlns:cmuq="http://www.cmu.edu/ns/s
<?xml version="1.0" encoding="UTF-8" ?>
<!-- <!DOCTYPE people SYSTEM "validator.dtd"> -->
<people
xmlns:cmuq="http://www.cmu.edu/ns/students"
xmlns="http://www.cmu.edy/ns/blank"
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance"
xsi:schemaLocation="student.xsd"
>
<cmuq:student>
<name>John</name>
<course>Computer Technology</course>
<semester>6</semester>
<scheme>E</scheme>
</cmuq:student>
<cmuq:student>
<name>Foo</name>
<course>Industrial Electronics</course>
<semester>6</semester>
<scheme>E</scheme>
</cmuq:student>
</people>
约翰
计算机技术
6.
E
福
工业电子
6.
E
XSD
请告诉我如何解决该错误
在Ian Roberts的回答后更新 XSD
标记:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.cmu.edu/ns/blank"
targetNamespace="http://www.cmu.edu/ns/blank"
elementFormDefault="qualified">
XML的根,
标记
<people
xmlns="http://www.cmu.edu/ns/blank"
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.cmu.edu/ns/blank student.xsd">
它仍然无法验证。目前,我已经放弃了添加xmlns:cmuq
的想法,但问题依然存在。
>在
http://www.cmu.edu/ns/students
namespace(架构的目标名称空间)和无名称空间中的所有嵌套元素(因为您不使用elementFormDefault
)。所以它必须是
<cmuq:people
xmlns:cmuq="http://www.cmu.edu/ns/students"
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.cmu.edu/ns/students student.xsd"
>
<student>
还请注意,
xsi:schemaLocation
需要是一个namespaceUri schema
对的列表,而不仅仅是一个模式地址-此属性可以将不同的模式与每个名称空间关联起来。基本上,我试图做的是添加康奈尔大学的假设学生,CMU
和其他大学,然后使用各种XSD对其进行验证。我该如何做thta?@LittleChild我建议您单独提出这个问题,因为答案将非常复杂,使用派生类型和元素替换组(请在w3.org的xmlschema-0入门中查找,您可以自己解决)@LittleChild编辑模式后,现在希望所有元素都在http://www.cmu.edu/ns/blank
名称空间,因此使用people
元素上的xmlns=
,它的子元素只需要是
(继承默认名称空间),而不是
,看看:
<cmuq:people
xmlns:cmuq="http://www.cmu.edu/ns/students"
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.cmu.edu/ns/students student.xsd"
>
<student>