我的xml架构和我的xml文档都是有效且格式正确的。但是正确的参考仍然存在问题。我查了几个类似的问题,但我无法解决我的问题。
xml架构的开头:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com">
<xs:element name="catalog"/>
xml架构示例:
<xs:element name="Qstr">
<xs:complexType>
<xs:sequence>
<xs:element name="text" type="xs:string"/>
<xs:element name="a" type="xs:string"/>
<xs:element name="b" type="xs:string"/>
<xs:element name="c" type="xs:string"/>
<xs:element name="d" type="xs:string"/>
</xs:sequence>
</xs:complexType>
xml文档的开头:
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com file:///home/n/workspace/webprog1/WebContent/schema.xml">
<Qstr>
<text>random question?</text>
<a>asdfasd</a>
<b>ertwetrewt</b>
<c>ghkghk</c>
<d>xcvbxcbbx</d>
</Qstr>
错误讯息:
Invalid content was found starting with element '{"http://www.w3schools.com":text}'. One of '{text}' is expected.
答案 0 :(得分:1)
elementFormDefault 的默认值为不合格。因为您使用带有<catalog>
的默认命名空间,所有子元素也将采用相同的命名空间,而不是没有命名空间(这是您想要的)。
E.g。有关详细信息,请参阅here。
如果您更改为以下内容,可能(您没有粘贴完整的XSD)工作:
<myns:catalog xmlns:myns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com file:///home/n/workspace/webprog1/WebContent/schema.xml">
<myns:Qstr>
<text>random question?</text>
<a>asdfasd</a>
<b>ertwetrewt</b>
<c>ghkghk</c>
<d>xcvbxcbbx</d>
</myns:Qstr>