【问题标题】:What resources can I use to validate a DTD?我可以使用哪些资源来验证 DTD?
【发布时间】:2013-09-29 20:03:00
【问题描述】:

有哪些资源可用于验证 DTD?我想明确一点:我不是在谈论根据 DTD 验证 XML 文档。

我说的是确保 DTD 本身是有效的。

【问题讨论】:

  • 任何符合标准的 XML 解析器都可用于检查 DTD 是否符合 XML 规范中的规则(我假设,您所说的“有效”是什么意思——DTD 在意义在 XML 规范中定义,因为它们不是 XML 文档实例。开源 XML 验证器包括 xmllint(基于 libxml)、rxp 和 Xerces。
  • 尝试根据忘记关闭 > 符号的 DTD 验证您的 XML 文档。使用该 DTD 检查 XML 文档的结果将是一场灾难。如果您不想将不完整的 DTD 称为无效,那么您会怎么称呼它?
  • 破碎的、错误的、不正确的、语法不正确的、不合格的、错误的,所有这些都是清晰的术语,与规范分配给术语的定义不冲突。没有必要在这里尝试将“有效”一词推向服务:它有自己的含义,这一点非常重要,需要小心。
  • @CMSperberg-McQueen 使用术语“无效”作为您列出的所有其他术语的总称是有效 - 问题是如何根据 DTD 标准/规范确定 DTD 文档是否有效

标签: xml dtd


【解决方案1】:

您可以使用 eclipse java IDE 验证 DTD 文件。我意识到这不是一个轻量级的解决方案,但是我发现它在使用 DTD 时很有用,这些 DTD 最终会通过 xjc 编译成 Java 类。

为此,您可以在 Eclipse 中加载 .dtd 文件(将其复制到项目中,或将您的项目指向您的 dtd 文件)。然后在eclipse的文件导航器中,可以右键点击dtd,然后点击validate。

For documentation see the Eclipse official website

【讨论】:

    【解决方案2】:

    我找到了解决方案。 Validome 是一个免费的在线 DTD 和 Schema 验证器。它不需要我注册任何试用版,或安装任何框架或其他软件来验证 DTD。希望这对其他人有帮助。干杯。

    【讨论】:

    • Validome 似乎不再在线。有人知道其他在线 DTD 验证器吗?
    • 这两个建议似乎都针对 DTD 或 XSD 文档验证 XML。但是,我看不到任何测试 DTD 以确保其正确且格式正确的方法。
    • @AlanKrause 你有没有找到任何相关的工具?
    • @Kiquenet 不,我没有。
    【解决方案3】:

    我使用 Oxygen xml 编辑器,您可以试用 30 天! 适用于 xml 文件、dtd、xslt... 当您编写 DTD 代码时,您可以对其进行验证(文档菜单 > 验证)。 dtd 文件是描述 xml 文件的 xml 文件。
    这段代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT chapter (title, paragraph)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT paragraph (#PCDATA)>
    

    有效。 这段代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT chapter (title, paragraph)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT paragraph (strong)>
    

    发出警报。 希望对你有用

    【讨论】:

    • 任何免费的东西,比如 w3c 的 HTML 验证器:validator.w3.org?我不想为此花费数百美元。
    • @Tarzan 我看不到上传 dtd 的选项?
    猜你喜欢
    • 2010-10-07
    • 2016-03-26
    • 1970-01-01
    • 2021-10-03
    • 2017-11-27
    • 1970-01-01
    • 2016-09-18
    • 2012-03-26
    相关资源
    最近更新 更多