有没有一种方法可以在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中的库来完成这项工作。
穆隆
发布于 2011-06-04 14:46:36
XML有树形结构,而wikitext大部分没有。例如这是完全合法的:
== A section {{DoubleEqual{{echo|Sign}}}}模板语法本身是分层的,MediaWiki本身会将其转换为XML (您可以使用Special:ExpandTemplates查看它),但是对于XML或其他正式描述(如上下文无关语法)来说,其余的语法太松散了。
有一个rewrite effort正在将wikitext转变为一种标准的、可解析的语言,但不要指望它很快就会结束。
发布于 2011-06-19 22:29:23
他们有一个正确的解析器,但我认为http://sweble.org/wiki/Wikitext-parser/还没有输出。
@Tgr:在语法上它与Tree不是真正兼容,但在语义上它是兼容的。
是的,处理Wikitext是一个巨大的混乱。
https://stackoverflow.com/questions/6229436
复制相似问题