Загрузите файл сценария (обычно index.idx) и обработайте его по одной строке за раз, производя один или несколько терминов индекса на строку без комментариев.
Чтение всех строк создает список терминов для индексации . Некоторые из них могут быть терминами, определенными вами непосредственно в файле сценария, другие могут быть терминами, найденными путем сканирования заголовка C++ и исходных файлов, которые были указаны директивой !scan-path.
После завершения полного списка терминов для индексирования загружается файл Docbook XML. (Если это исходит от Quickbook/Doxygen/Boostbook/Docbook, то это полная документация после преобразования в формат Docbook).
AutoIndex создает внутреннюю Document Object Model (DOM) Docbook XML. Это внутреннее представление затем сканируется на наличие терминов для индексирования . Это сканирование работает на уровне абзаца XML (или эквивалентного брата, такого как таблица или блок кода) - поэтому все кодирование XML в абзаце сглаживается до простого текста. Это уплощение означает, что регулярные выражения, используемые для поиска терминов для индексации , могут найти все, что полностью содержится в абзаце (или блоке кода и т. Д.).
Для каждого найденного термина вводится элемент indexterm Docbook в Document Object Model (DOM) (при условии выключения генерации внутреннего индекса),
Также обновляется внутреннее представление индекса AutoIndex.
После того, как весь XML-документ был проиндексирован, если AutoIndex был проинструктирован для создания самого индекса, он создает необходимый XML и вставляет его в объектную модель документа (DOM) .
Наконец, вся Объектная модель документа (DOM) записывается в виде нового XML-файла Docbook, и нормальная обработка этого продолжается через таблицы стилей XSL (с xsltproc), чтобы фактически создать окончательные читаемые человеком документы.
Статья Understanding The AutoIndex Workflow раздела Boost.AutoIndex Boost.AutoIndex может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.