繁体   English   中英

php脚本将xml转换为dtd

[英]php script to convert xml to dtd

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

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

有没有?

任何帮助都会感激...

FERO

从XML文件生成DTD是我经常看不到的 - 主要原因之一是您无法确定用于生成DTD的XML文件将包含DTD应定义的所有内容

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


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

...但我发现了一个JAVA: DTDGenerator - 生成XML DTD的工具 (引用)

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

该计划的目的是让您快速开始编写DTD。
DTD是输入文档符合的许多可能的DTD之一。
通常,您需要检查DTD并对其进行编辑以更精确地描述您的目标文档。


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

  • 网站上有一些关于其工作原理的基本思路的解释
  • 提供源代码
  • 它只有600行长
    • 这意味着一个人应该能够在没有太多努力的情况下理解
    • 可能将其移植到PHP
    • 并且源代码中有一些注释- 这会有所帮助
  • 它是在MPL下发布的- 这意味着开源; 这很好,如果你想移植它


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

  • 您必须完成XML结构
  • 在每个起始标签上构建它的树形表示
    • 这意味着元素
    • 可以有属性
  • 而且,当您完成XML文档的阅读后,您必须根据文档的重新表示来构建DTD
    • 这可能是困难的部分 - 看看我链接到的JAVA工具的来源,它代表了相当多的代码行^^

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

以下是我发现可能有用的内容: http//www.hitsw.com/xml_utilites/

还有一个似乎很有前途的课程: http//phpclasses.2by2host.com/browse/package/250.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM