2011-06-03 68 views
0

有沒有辦法將wikitext數據轉換爲Java應用程序中的簡單XML?wikitext to xml

輸入例:

== A section == 
    this is some text...   

{{MyTemplate 
|attr1=some value 
|attr2=some other value 
     ... 

輸出例如:

<section title='A section'>this is some text...</section> 
<ValueDescription attr1='some value' attr2='some other value' ...> 

這似乎是一個簡單的任務,但我無法找到一個圖書館做在Java中。

Mulone

+0

完整的mediawiki語法非常複雜,所以如果唯一的全功能解析器在mediawiki本身內,我不會感到驚訝。 – svick 2011-06-03 23:48:11

回答

1

XML有一個樹狀結構,大多數情況下wikitext沒有。例如,這是完全合法的:

== A section {{DoubleEqual{{echo|Sign}}}} 

模板語法本身是分層次的,並且鏈接到MediaWiki本身將其轉換爲XML(可使用Special:ExpandTemplates檢查出來),但語法的其餘部分多爲XML或太鬆其他正式的描述,如上下文無關文法。

有一個rewrite effort將wikitext轉換爲標準的,可解析的語言,但不要期望它很快結束。

+0

你是對的!這對我來說有些悖謬,但是從生成的(並且可能是凌亂的)html中處理wiki頁面比從wikitext源處理wiki頁面更容易。 – Mulone 2011-06-04 10:39:14

0

http://sweble.org/wiki/Wikitext-parser/他們有一個正確完成的解析器,但我認爲AST沒有XML輸出。

@Tgr:從句法上來說,它並不是真的與樹兼容,但在語義上是這樣的。

是的,處理Wikitext是一個巨大的混亂。