xml示例不起作用 - 保持相同的错误“xsi:noNamespaceSchemaLocation =”hello.xsd“>”

时间:2016-02-04 17:26:21

标签: xml xsd xml-parsing

这是“hello.xml”文档。我在Mac上使用jedit,我正在关注本书的名为ineasysteps的例子。我不确定我的代码是错误的还是我的编辑器或什么?我尝试使用sublimetext编辑器但这是一场噩梦,因为看起来xml文件似乎没有读取dtd文件。谢谢你的帮助

 <?xml version="1.0" encoding="UTF-8" ?>

<!-- XML in easy steps - Page 46. -->

<doc xmlns:xsi=
"http://www.w3.org/2001/XMLSchemaInstance"
xsi:noNamespaceSchemaLocation = "hello.xsd" >


<msg>Hello World!</msg>

</doc>


 hello.xsd-----------------

<?xml version="1.0" encoding = "UTF-8" ?>

<!-- XML in easy steps - Page 46. -->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >


 <!-- DECLARE ELEMENTS. -->
<xsd:element name="doc" type="docType"/>
<xsd:element name="msg" type="xsd:string"/>

<!-- DEFINE STRUCTURE. -->
<xsd:complexType name="docType">
<xsd:sequence>
    <xsd:element ref="msg"/>
</xsd:sequence>
</xsd:complexType>

</xsd:schema

1 个答案:

答案 0 :(得分:1)

在您的XML中,命名空间uri不正确。

而不是:

http://www.w3.org/2001/XMLSchemaInstance

它应该是:

http://www.w3.org/2001/XMLSchema-instance

示例...

<?xml version="1.0" encoding="UTF-8" ?>

<!-- XML in easy steps - Page 46. -->

<doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="hello.xsd">

    <msg>Hello World!</msg>

</doc>