2013-01-05 2 views
1

나는이 질문에 답하기 위해 약간 둘러 보았지만 아무 소용이 없었다. 특정 페이지를 처리하기 위해 위키 미디어 페이지 덤프를 구문 분석하고 있습니다 (예, 위키 미디어 페이지 덤프를 구문 분석 할 수있는 몇 가지 도구를 알고 있지만 파서뿐만 아니라 저를 위해 작동하지 않습니다).위키 미디어 페이지 덤프에서 섹션을 감지하는 방법

질문은 간단합니다. 섹션의 시작을 감지하는 방법을 알고 있습니다 (예 : "== 외부 참조 =="). 쉽습니다. 잘 정의되지 않은 부분은 섹션이 끝나는 시점을 감지하는 방법입니다. 예를 들어, 대부분의 섹션에서 다음 섹션 헤더가 시작될 때까지 스캔 할 수 있지만 신뢰할 수는 없습니다. 필자는 섹션에 대한 위키 미디어의 도움말 페이지를 살펴 보았지만 섹션의 끝을 감지하는 방법은 밝히지 않았습니다.

답변

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> 등을 사용하여 생성 된 표제는 섹션 머리말과 완전히 다르게 보이더라도 섹션을 시작 또는 끝내지 않으며 섹션 편집 링크도 갖지 않습니다. 템플릿 내부

섹션 제목은 당신이 템플릿의 해당 부분을 편집 할 수 GET 섹션의 편집 링크를 수행하지만, 그들은 특별하게 취급하고 있고 포함하는 페이지의 정상 부분 구조의 일부로 간주되지 않습니다. 템플릿 헤더 내에 섹션 헤더가 포함되어있는 이상한 특수한 경우가 있습니다. 매개 변수 나는 머리 꼭대기를 완전히 기억하지 못합니다.

= Heading =으로 생성 된 추가 첫 번째 레벨 제목이 있지만 자동으로 생성 된 모든 페이지 상단의 첫 번째 레벨 제목은 섹션 제목으로 계산되지 않습니다.

+0

자세한 답변을 보내 주셔서 감사합니다. – rational

관련 문제