我是XML的新手。我很困惑DTD文档如何验证XML文档。以下是我的代码,如果我错了,请纠正我。
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<rom>Jani</rom> // Here i've miss-spelled the tag <from> but still not getting error
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
我知道DTD用于验证XML数据。元素名称为<form>
。我刚刚将<form>
的拼写更改为<rom>
,但仍未在浏览器中收到任何错误消息。我在这一点上陷入困境。
答案 0 :(得分:2)
欢迎使用XML社区。 p>
您需要为XML找到并使用验证解析器;如果您想使用Web浏览器,您可能会感到失望。早期版本的Internet Explorer默认根据DTD验证XML;较新的版本没有(但我相信你可以配置他们这样做,如果你能弄清楚如何)。基于Mozilla的浏览器根本没有验证XML解析器。
大多数使用XML的人最终都会使用特定于XML的工具进行验证。我最喜欢的命令行验证是
xmllint(libxml2的命令行界面,它是Gnome项目的一部分,但也可以在Gnome之外使用)
rxp(爱丁堡大学的理查德托宾)
Xerces J,Xerces C(这些是Apache项目)
还有一些支持XML的编辑器可以在编辑器中提供集成验证(有时可以从您选择的几个解析器中进行验证)。