如何使用Perl从SGML DTD中提取文本内容?

时间:2012-02-22 23:47:10

标签: regex perl sgml

我正在考虑使用Perl从DTD中提取所有内容,但我不确定哪种方法最好。我知道有一些用于处理XML的模块,但是我不确定是否有任何类型的工作与SGML或我是否应该尝试为这项工作创建一个正则表达式?

我是SGML和Perl的新手,除了非常简单的模式匹配外,没有太多正则表达式的经验。

1 个答案:

答案 0 :(得分:2)

这里有2个选项:

  • 使用我在(远程!)过去使用的旧perlSGML发行版。这是perl它应该仍然在现代perl上运行,

  • 使用osx将您的SGML转换为XML,这是openSP的一部分,至少可用于Debian / Ubuntu(该程序包称为opensp),很可能是其他平台,然后使用XML工具,如XML :: LibXML或XML :: Twig

目前有更多的XML工具比SGML工具更多,但当然你可能会丢失一些信息,因为DTD在XML中比在SGML中稍微简单