如何从XML生成DTD?

2024-04-27 04:22:42 发布

您现在位置:Python中文网/ 问答频道 /正文

可以使用Python从XML文件生成DTD吗?在


Tags: 文件xmldtd
1条回答
网友
1楼 · 发布于 2024-04-27 04:22:42

对您所问问题的简单回答是“是的,可以使用Python从XML文档生成DTD”。在

Python是一种图灵完备语言,有从任意XML或SGML集合生成DTD的算法。我相信标准的参考文献是Rick Kazman,“通过 “有限状态转换”,新牛津英语中心 词典技术报告OED-86-20,滑铁卢大学(1986年6月),117页

在20世纪80年代末,图书馆联盟OCLC开发了一个名为Fred的工具,该工具为SGML文档的主体引入了DTD;我非正式地听说过很多关于它的算法的描述,但至今还没有见过公开的描述。但是,在Web上快速搜索“oclcfredsgmldtd”会生成一个指向Keith E. Shafer, Fred: the SGML Grammar Builder (1996)的指针。(快速浏览了大量资料,但我没有看到任何关于所用算法的高层描述的明确参考。)

挪威还有一篇1994年的论文:Sunniva M.K.Solstrand,“Automatisk generering av DTD fra SGML kodet materiale”,Hovedfagsoppgave i informasjonsvitenskap,卑尔根大学,1994年)。在

可以看出,有几位计算机科学家不同意评论者的观点,他们告诉你你的问题毫无意义或是错误的。当然,通过自动语法归纳实现的文档语法质量往往低于由人工文档分析员和DTD编写器实现的文档语法质量。在

我怀疑,如果DTD局限于FabioVitali及其在博洛尼亚的合作者在各种文章中描述的内容模型模式,那么生成的DTD将更加合理。我相信,最初的论文是Fabio Vitali, Angelo Di Iorio, and Daniele Gubellini, "Design patterns for descriptive document substructures",Extreme Markup Languages 2005,后来的文章详细阐述和描述了应用程序。弗朗西斯科波吉(francescopoggi)在博洛尼亚(Bologna)的新工作(尚未出版)扩展和深化了分析。在Web上搜索“XML设计模式”可能会提供类似语法模式的其他尝试。从语法归纳的角度来看,这种模式的效果是通过针对更简单的语法来降低归纳问题的复杂性。在


如果你想问一个完全不同的问题“有人能推荐一个基于Python的工具从XML文档生成DTD吗?”,那么我就帮不了你了(还有很多堆栈溢出的主持人会马上结束问题,因为要求工具推荐的问题是不受欢迎的)。在

相关问题 更多 >