我正在考虑使用Perl从DTD中提取所有内容,但我不确定哪种方法最好。我知道有一些用于处理XML的模块,但是我不确定是否有任何类型的工作与SGML或我是否应该尝试为这项工作创建一个正则表达式?
我是SGML和Perl的新手,除了非常简单的模式匹配外,没有太多正则表达式的经验。
答案 0 :(得分:2)
这里有2个选项:
使用我在(远程!)过去使用的旧perlSGML发行版。这是perl它应该仍然在现代perl上运行,
使用osx
将您的SGML转换为XML,这是openSP的一部分,至少可用于Debian / Ubuntu(该程序包称为opensp
),很可能是其他平台,然后使用XML工具,如XML :: LibXML或XML :: Twig
目前有更多的XML工具比SGML工具更多,但当然你可能会丢失一些信息,因为DTD在XML中比在SGML中稍微简单