我试图验证三个XML文件,每个文件都得到相同的两个错误。用于验证的方案是使用方案生成功能(特别是使用三种XML)使用Oxygen 18.0创建的。
错误是:
cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.tei-c.org/ns/1.0":p}'. One of '{"http://www.tei-c.org/ns/1.0":div}' is expected.
和
cvc-complex-type.2.4.b: The content of element 'div' is not complete. One of '{"http://www.tei-c.org/ns/1.0":p}' is expected.
它们总是引用以下元素:** **
<?xml version="1.0" encoding="utf-8"?>
<text rend="Section" xml:lang="kat">
<body>
<**div** type="Content" n="1">
<div type="Section" n="1">
<**p**>
我不确定是否是由于错误的方案(现在是阻止我上传它的问题)或者文档本身是否导致错误。然而,所有文件都是格式良好的。
其他消息来源称,通过将Default更改为elementFormDefault="qualified"
来修复它,但我的XML已经包含了。我希望错误要么与targetNamespace="http://www.tei-c.org/ns/1.0"
(XML的一部分)相关联,要么与错误的元素顺序相关联。它也可能与minOccurs="0"
有关 - 但至于这一点,我已经阅读了很多线索,我已经忘记了一个合理的解决方案。
显而易见的是三重检查:标签在最后正确关闭
</div></div>
</body>
</text>
这是上面使用的XML:http://pastebin.com/USKZxXM4
答案 0 :(得分:1)
quit.triggered.connect(self.close)
的内容模型允许它为空或由div
和div
的序列组成:
p
鉴于您的XML有一个 <xs:sequence minOccurs="0">
<xs:element ref="ns1:div"/>
<xs:element ref="ns1:p"/>
</xs:sequence>
元素与div
子元素和另一个div
元素与div
子元素,您应该使p
& #39; s内容模型是一系列可选子项:
div
如果两者都存在,或者选择:
<xs:sequence>
<xs:element ref="ns1:div" minOccurs="0"/>
<xs:element ref="ns1:p" minOccurs="0"/>
</xs:sequence>
如果只有一个可能存在。