Как работает функция «редактировать раздел» в Википедии?

Как Википедия реализует функцию «редактировать этот раздел» для своих статей, при которой пользователь может редактировать только раздел статьи, а не всю статью? Я пробовал пролезть через код mediawiki самостоятельно, но мне сложно его понять. Вот мое предположение (но только предположение):

Пользователь нажимает [редактировать] в статье. Это ссылка на обычную страницу редактирования, но с дополнительным параметром, передаваемым через GET в URL-адресе, указывающим, какой раздел редактировать. Без этого дополнительного параметра Mediawiki обычно просто представляет пользователю форму для редактирования всей страницы. Но указание раздела для редактирования заставляет Mediawiki извлекать ТОЛЬКО этот раздел и представлять его для редактирования.

Что меня беспокоит, так это то, как Mediawiki разбирает отдельные разделы? Насколько я понимаю, MW не хранит разделы по отдельности - он хранит ВСЕ ВЕРСИИ каждой версии страницы как один большой блок текста (в дополнение к множеству метаданных). Ищет ли MW просто теги H1, H2, H3, ... и использует их для разделения текста на области при отображении страницы? И когда пользователь сохраняет измененный раздел, просматривает ли он текущую версию, повторно разбирает текст на разделы и просто "вводит" новую версию в копию текущей версии, которая затем сохраняется как НОВАЯ версия?

Я предполагаю, что мое понимание MediaWiki сильно упрощено, но я просто пытаюсь получить общее представление.

Спасибо!

9
задан loneboat 11 September 2010 в 02:02
поделиться