2009-10-29 84 views
2

我需要将HTML文档(从DocBook XML文档生成)转换为Wiki标记语言,特别是标记为PM Wiki的语言。目标是在我们新创建的wiki中包含公司的应用操作指南。这意味着,我其实有两个选择:将XML或HTML转换为Wiki标记 - 您会选择哪种方法?

  1. 转换(从DocBook个XML生成)到维基
  2. 转换DocBook的个XML直接到维基

的HTMLS由于HTMLS由一个DocBook产生到HTML转换器,标签在HTML文档中定义的方式差别不大,只有文档的内容。

我正在寻找可以由我自己快速实施的解决方案。我将不得不一次完成此转换,然后每次创建应用程序操作指南的新版本时。我已经想到了到目前为止

解决方案:

  1. 转换HTML用Perl或PHP脚本,维基,基于正则表达式。
  2. 将Docbook XML直接转换为wiki。由于它是XML,所以我可以使用Java进行XML解析。这里面的风险是我不熟悉DocBooks XML格式(就像我使用HTML),所以这需要一些时间来学习。

你会选择什么方法进行这项工作?

更新:

我只是尝试了PmWiki的扩展名为ConvertHTML。它没有正常工作,因为它不转换HTML标签(例如没有像在wiki中那样转换),如其文档所述:

PmWiki标记不支持所有的HTML标记,所以100 %转换是不可能的。但是,PmWiki可以在编辑或保存文本时替换文本。 ConvertHTML实现了一套相对全面的将HTML标签转换为wiki标记的规则。

+0

XML是为交换数据 - 因此将XML转换为HTML,然后解析HTML是一种无感。 因此,对于直接XML解析来说,+1会容易得多。 – user181750 2009-10-29 12:13:40

+0

@rebugger,它不一定会更容易,因为XML到HTML转换器是我们已经拥有的东西。 – 2009-10-30 09:04:39

回答

4

This可能是有用的,虽然它从DocBook转换为MediaWiki,而不是PM维基。

有Perl模块可以将HTML转换为各种Wiki方言:HTML::WikiConverter。所以,如果你可以把你的DocBook变成HTML,那么这也可能起作用。

+0

+1。看上去不错。无论你做什么,都不要使用正则表达式解析HTML。 ;-) – 2009-10-29 11:43:59

+0

HTML :: WikiConverter似乎是我需要的。我今天会试一试。我想要的PMWiki方言支持:http://search.cpan.org/~diberri/HTML-WikiConverter-PwWiki-0.51/lib/HTML/WikiConverter/PmWiki.pm – 2009-10-30 09:23:08

+0

HTML :: WikiConverter运作良好。这不是一个完美的转换,但是迄今为止我找到的最佳解决方案。 – 2009-10-30 11:21:20

1

我用Digester从简单的XML文件生成Java对象,并通过Java对我的需求进行修改。这是一个非常简单的使用工具。也许你想试试看。为我工作..

+1

如果您使用小型xml文件,Digester真的很酷。但是,如果xml文件变得越来越大,应该真的使用另一个解析器(因为在涉及大文件时,消化池是最慢的文件之一[识别大于5-10MB的文件大小]) – user181750 2009-10-29 11:05:51

+0

谢谢你的增加 – bastianneu 2009-10-29 11:25:07

+0

这很有趣。但是我需要从Java对象中生成HTML。我不认为这将是这种情况下最简单实施的解决方案。对于HTML :: WikiConverter,为 – 2009-10-30 09:26:16