2013-01-05 40 views
1

我已经环顾四周,试图回答这个问题,但无济于事。我解析wikimedia页面转储处理某些页面(是的,我知道几个工具来解析wikimedia页面转储,但它们不适合我和我的解析器)。如何检测维基百科页面中的部分转储

问题很简单。我知道如何检测节的开始(例如“==外部引用==”)。这很容易。什么是不明确的是如何检测一个部分何时结束?例如,对于大多数部分,我都可以扫描,直到下一部分标题开始,但这不可靠。我查看了维基媒体的部分帮助页面,但并未说明如何检测部分的结尾。

回答

1

MediaWiki syntax中没有“部分结束”标记。部分一直延伸到相同或更低级别的下一部分标题。 (还有一个“部分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 =创建的任何额外的第一级标题都可以,但在每个页面顶部的自动生成的第一级标题也不会被视为标题标题。

+0

感谢您的详细回复。 – rational