如何检测维基媒体页面转储中的节

时间:2013-01-05 23:33:59

标签: wikimedia

我已经环顾四周试图回答这个问题,但无济于事。我正在解析维基媒体页面转储以处理某些页面(是的,我知道有几个解析维基媒体页面转储的工具,但它们对我和我的解析器都不起作用。)

问题很简单。我知道如何检测一个部分的开头(例如“==外部参考==”)。这很简单。没有明确定义的是如何检测某个部分何时结束?例如,对于大多数部分,我可以扫描直到下一部分标题的开头,但这不可靠。我查看了维基媒体关于部分的帮助页面,但没有说明如何检测部分的结尾。

1 个答案:

答案 0 :(得分:1)

MediaWiki syntax中没有“部分结束”标记。一个部分一直延伸到相同或更低级别的下一个部分标题。 (还有一个“section 0”包含第一个节头之前的所有文本。)

是的,这意味着不同级别的部分可以重叠,如下例所示:

This text is in section 0.

== Section 1 begins here ==

This text is in section 1.

=== Section 2 begins here ===

This text is in sections 1 and 2.

=== Section 3 begins here ===

This text is in sections 1 and 3.

== Section 4 begins here ==

This text is in section 4.

请注意,使用HTML <h1><h2>等标记创建的标题不会开始或结束部分,也不会有部分编辑链接,即使它们看起来与部分相同标题。

模板中的部分标题获取部分编辑链接,可以编辑模板的相应部分,但它们是专门处理的,不属于包含页面的正常部分结构。还有一些奇怪的特殊情况涉及模板参数中的节标题,我不完全记得我的头脑。

尽管使用= Heading =创建了任何额外的第一级标题,但每页顶部自动生成的第一级标题也不算作标题标题。