这是“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
答案 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>