2

我是 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>。我刚刚更改了 to 的拼写,<form><rom>在我的浏览器中仍然没有收到任何错误消息。我被困在这一点上。

4

1 回答 1

2

欢迎来到 XML 社区。

您需要为您的 XML 找到并使用一个验证解析器;如果您想使用 Web 浏览器,您可能会感到失望。默认情况下,旧版本的 Internet Explorer 根据 DTD 验证 XML;较新的版本没有(但我相信如果您能弄清楚如何配置它们,您可以配置它们)。基于 Mozilla 的浏览器根本没有验证 XML 解析器。

大多数认真使用 XML 的人最终都会使用特定于 XML 的工具进行验证。我最喜欢的命令行验证是

  • xmllint(libxml2 的命令行界面,它是 Gnome 项目的一部分,但也可以在 Gnome 之外使用)

  • rxp(由爱丁堡大学的 Richard Tobin 撰写)

  • Xerces J、Xerces C(这些是 Apache 项目)

还有一些支持 XML 的编辑器,它们在编辑器内提供集成验证(有时来自您选择的几个解析器)。

于 2012-12-29T02:32:05.867 回答