【发布时间】:2014-12-04 21:10:08
【问题描述】:
我从一门大学课程的 XML 和 Schemas 开始,今天我遇到了这个问题,但我一直无法弄清楚。在针对 XSD 验证 XML 文档时,我收到一条错误消息:
cvc-elt.1:找不到元素“info:SubmitForm”的声明。 [8]
下面我提供了我的 XML 文档:
<?xml version="1.0" encoding="UTF-8"?>
<info:SubmitForm
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:info="http://www.nielsvandeven.nl/assignmentxml"
xsi:SchemaLocation= "http://www.nielsvandeven.nl/assignmentxml
EleFoDefAssignment.xsd">
<CustomerInfo>
<name>John Johnson</name>
<country>United Kingdom</country>
<age>40</age>
<registrated>1</registrated>
</CustomerInfo>
<CustomerInfo>
<name>Jan Jansen</name>
<country>Belgium</country>
<age>40</age>
<registrated>0</registrated>
</CustomerInfo>
</info:SubmitForm>
我的架构文档如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:info="http://www.nielsvandeven.nl/assignmentxml"
targetNamespace="http://www.nielsvandeven.nl/assignmentxml"
elementFormDefault="unqualified">
<xsd:element name="SubmitForm">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CustomerInfo" type="info:custinfo" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="custinfo">
<xsd:sequence>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="country" type="xsd:string" />
<xsd:element name="age" type="xsd:integer" />
<xsd:element name="registrated" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
由于我仍在学习,请随时指出我在未提及之前的问题时犯的任何错误。
谢谢, 尼尔斯
【问题讨论】:
-
尝试将
xsi:SchemaLocation更改为xsi:schemaLocation。这是一个错误,但我不确定这就是全部。 -
在进行@lexicore 建议的更改后,您应该已准备就绪。 (发现这里就是这种情况。)如果您有任何其他问题,请告诉我们。
-
我已经按照@lexicore 的建议实施了更改并且它有效!很容易错过这样的错误。谢谢,希望对其他用户有用。
-
@Niels_vandeVen 我会将其移至答案。我实际上并不认为这就是全部(这就是为什么它是评论)。
标签: xml xsd xmldocument