xml架构引用的问题

时间:2016-04-19 14:21:26

标签: xml

我的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.

1 个答案:

答案 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>