【问题标题】:php script to convert xml to dtd将xml转换为dtd的php脚本
【发布时间】:2011-01-20 00:10:30
【问题描述】:

是否有任何 PHP 脚本可以将 XML 文件转换为 DTD。

我尝试了很多。我可以找到工具,但找不到 PHP 脚本。

有吗?

任何帮助将不胜感激......

费罗

【问题讨论】:

  • 您是指 XML Schema 文件还是任意 XML 文件?
  • 只是任意文件 Gordon...抱歉迟到了...
  • 我不知道,但如果可能的话,它会很酷。我的意思是,DTD 还指定了嵌套规则和数据类型等内容。从 XML 文件创建 DTD 就像从该注释构建英语语法规则一样。没有“骑自行车”这个词是否意味着它不是一个合法的词?
  • 如果有任何通用属性将在所有 XML 中转换为 DTD,那么 XML 样本会很好
  • 你是对的 Pepijin.. 但是有一些工具可以将 xml 模式转换为 DTD。你能解释一下这怎么可能?对不起,如果我错了。我是这个部分的新手

标签: php xml dtd


【解决方案1】:

从 XML 文件生成 DTD 是我不经常看到的事情 - 主要原因之一是 您不能确定用于生成 DTD 的 XML 文件是否包含DTD 应该定义

即生成的 DTD 将只包含该特定 XML 文件中存在的元素和属性——这并不一定意味着以后使用它时应该接受的所有元素和属性


话虽如此,我还没有找到任何 PHP 工具来从 XML 文件创建 DTD...

...但是我找到了一个 JAVA 的:DTDGenerator - A tool to generate XML DTDs (引用)

DTDGenerator 是一个需要的程序 XML 文档作为输入并生成 文档类型定义 (DTD) 为 输出

该计划的目的是为您提供 快速开始编写 DTD。

DTD 是众多可能的 DTD 之一 输入文档所符合的。
通常,您需要检查 DTD 并对其进行编辑以描述您的 更准确的预期文件。


关于这个DTDGenerator 程序的一些好处是:

  • 网站上有一些关于其工作原理的基本解释
  • 提供源代码
  • 只有不到 600 行
    • 这意味着人们应该能够不费吹灰之力就能理解
    • 可能将其移植到 PHP
    • 源代码中有一些 cmets-- 这会有所帮助
  • MPL下发布--意思是开源的;这很好,如果你想移植它


从那个程序的源代码开始,应该可以写一些PHP代码(如果你不能执行JAVA,并且真的需要用PHP编写)来做同样的事情:基本思想是没那么难:

  • 你必须通过 XML 结构
  • 在每个起始标记上构建它的树表示
    • 表示元素
    • 可以有属性
  • 而且,当您浏览完 XML 文档后,您必须从您的文档表示中构建 DTD
    • 这可能是困难的部分——查看我链接到的 JAVA 工具的源代码,它代表了相当多的代码行^^

在开始之前看看这个 DTDGenerator 的好处是它的作者已经考虑过这个过程 - 并且已经确定了一些你可能没有考虑过的情况强> ;-)

【讨论】:

    【解决方案2】:

    这是我发现可能有用的东西:http://www.hitsw.com/xml_utilites/

    还有一个类看起来很有前途:http://phpclasses.2by2host.com/browse/package/250.html

    【讨论】:

      猜你喜欢
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2014-04-21
      相关资源
      最近更新 更多