wikitext到xml

时间:2011-06-03 15:48:38

标签: java xml wiki mediawiki

有没有办法在Java应用程序中将wikitext数据转换为简单的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

2 个答案:

答案 0 :(得分:1)

XML有一个树结构,wikitext大部分都没有。 E. g。这是完全合法的:

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

模板语法本身是分层的,MediaWiki本身将其转换为XML(您可以使用Special:ExpandTemplates来检查它),但其余的语法对于XML或其他正式描述来说太松散了。无上下文语法。

有一个rewrite effort继续将wikitext变成一种标准的,可解析的语言,但不要指望它会很快结束。

答案 1 :(得分:0)

http://sweble.org/wiki/Wikitext-parser/他们有一个正确完成的解析器,但我认为AST还没有XML输出。

@Tgr:从语法上来说它与树并不真正兼容,但在语义上它是。

是的,处理Wikitext是一个巨大的混乱。