我是 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>
但在我的浏览器中仍然没有收到任何错误消息。我被困在这一点上。
最佳答案
欢迎来到 XML 社区。p>
您需要为您的 XML 找到并使用验证解析器;如果您想使用网络浏览器,您可能会失望。旧版本的 Internet Explorer 默认情况下根据 DTD 验证 XML;较新的版本不会(但我相信如果您能弄清楚如何配置它们,您可以这样做)。基于 Mozilla 的浏览器根本没有验证 XML 解析器。
大多数认真使用 XML 的人最终都会使用 XML 特定的工具进行验证。我最喜欢的命令行验证是
xmllint(libxml2 的命令行界面,它是 Gnome 项目的一部分,但也可以在 Gnome 之外使用)
rxp(爱丁堡大学的理查德·托宾)
Xerces J、Xerces C(这些是 Apache 项目)
还有支持 XML 的编辑器,它们在编辑器内提供集成验证(有时通过您选择的多个解析器)。
关于xml - 使用 dtd 文档验证 xml 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14014307/