【问题标题】:Converting XML or HTML to Wiki mark up - what approach would you choose?将 XML 或 HTML 转换为 Wiki 标记 - 您会选择哪种方法?
【发布时间】:2010-12-11 04:47:41
【问题描述】:

我需要将 HTML 文档(从 DocBook XML 文档生成)转换为 Wiki 标记语言,尤其是 PM Wiki 标记语言。目标是将公司的应用程序操作指南包含在我们新创建的 wiki 中。这意味着我实际上有两个选择:

  1. 将 HTML(从 DocBook XML 生成)转换为 wiki
  2. 将 Docbook XML 直接转换为 wiki

由于 HTML 是由 DocBook 到 HTML 转换器生成的,因此在 HTML 文档中定义标签的方式没有太大变化,只有文档的内容。

我正在寻找可以由我自己快速实施的解决方案。每次创建新版本的应用程序操作指南时,我都必须进行一次此转换。

目前我想到的解决方案:

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

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

更新:

我刚刚尝试了一个名为 ConvertHTML 的 PMWiki 扩展。它不能很好地工作,因为它不转换 HTML 标记(例如,没有像 wiki 中留下的那样转换),正如它的文档所说:

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

【问题讨论】:

  • XML 用于交换数据——因此将 XML 转换为 HTML 然后解析 html 有点无意义。所以 +1 用于直接 XML 解析 - 这会容易得多。
  • @rebugger,它不一定更容易,因为我们已经有了 XML 到 HTML 转换器。

标签: java php perl scripting scripting-language


【解决方案1】:

试试HTML2Mediawiki

(2020 年 3 月 10 日更新链接)

【解决方案2】:

DocBook to Wiki 可能有用,尽管它从 DocBook 转换为 MediaWiki,而不是 PM Wiki。

有一些 Perl 模块可以将 HTML 转换为各种 Wiki 方言:HTML::WikiConverter。因此,如果您可以将您的 DocBook 转换为 HTML,那么这也可能有效。

【讨论】:

  • +1 表示HTML::WikiConverter。这看起来不错的样子。无论您做什么,都不要使用正则表达式解析 HTML。 ;-)
  • HTML::WikiConverter 似乎是我需要的。我今天会试一试。支持我想要的PMWiki方言:search.cpan.org/~diberri/HTML-WikiConverter-PmWiki-0.51/lib/…
  • HTML::WikiConverter 运行良好。这不是一个完美的转换,但它是迄今为止我找到的最好的解决方案。
【解决方案3】:

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

【讨论】:

  • 如果您使用的是小型 xml 文件,Digester 真的很酷。但是如果 xml 文件变得越来越大,那么真的应该使用另一个解析器(因为对于大文件 [在文件大小 >5-10MB 时可以识别],digester 是最慢的之一)
  • 这很有趣。但是我需要从 Java 对象生成 HTML。在这种情况下,我认为这不是最容易实现的解决方案。
猜你喜欢
  • 2018-04-01
  • 2014-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多