2009-10-29 34 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