java - 将 XML 或 HTML 转换为 Wiki 标记 - 您会选择什么方法?

标签 java php perl scripting scripting-language

我需要将 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 标记。

最佳答案

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

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

关于java - 将 XML 或 HTML 转换为 Wiki 标记 - 您会选择什么方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642834/

相关文章:

perl - OAuth 请求 token 和 Twitter

perl - 使用 Perl 和 Win32::OLE,如何将 Word 文档中的编号列表转换为纯文本?

java - 使用 Spring JDBC 向外表插入数据

执行 jacoco 准备代理时,使用反射捕获的 Java 注释将不起作用

php - 使用 php 脚本的 Redis 延迟测量

php - 在一个MYSQL字段中存储多个值

java - 应该如何维护序列化对象?

java - Hibernate 生成 POJO

php - 外部存储过程的每一行的存储过程

perl - 在压缩存档内的文本文件上运行 `head` 而不解压存档