我有一个非常简单的xsd和xml文件示例,其中xml文件无法验证。
这两个文件的副本如下。
id ='fixMe'的第一个xml元素会出现错误 顶级未完成。 有效的xml文档必须具有根标记
如果我删除了它的id属性或使用“idx”而不是“id”,那就没关系了。但我无法弄清楚为什么。 'id'应该是有效的属性。
有任何见解。
XML:
<question id="fixMe" />
<question idx="ok"/>
<question />
XSD:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="perceptive.com/mi/analysis"
xmlns="perceptive.com/mi/analysis"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="test" type="test"/>
<xs:complexType name="test">
<xs:sequence minOccurs="1" maxOccurs="10">
<xs:element name="question" type="question_type"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="question_type">
<xs:attribute name="idx" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
答案 0 :(得分:2)
XML文档在格式正确之前无法生效。
因此,您应该在XML文档中指定根标记,例如:
<root>
<question id="fixMe" />
<question idx="ok"/>
<question />
</root>