Словарь представляет собой файл XML в кодировке utf-8.
Всё содержимое обёрнуто в корневой тег <dictionary>
, атрибуты которого указывают на версию формата (сейчас 0.81) и номер ревизии словаря на момент экспорта. Внутри выделяются 4 секции, описывающие граммемы, собственно леммы, типы связей между ними и сами связи.
В секции <grammemes>
перечислен весь инвентарь граммем в виде: <grammeme parent="pid">gid</grammeme>
, где gid – идентификатор граммемы (например, NOUN), а pid – идентификатор граммемы, являющейся родительской по отношению к данной (например, POST); pid может быть пустым.
Леммы перечисляются в секции <lemmata>
. Каждая лемма описывается элементом <lemma>
с атрибутами id
(числовой идентификатор леммы, не меняется никогда) и rev
(номер последней ревизии этой леммы). Внутри этого элемента находится содержимое последней ревизии:
<l>
, содержащий текст леммы в атрибуте t
и набор граммем, относящихся к лемме, в элементах <g>
;<f>
, описывающий все словоформы данной леммы: текст словоформы содержится в атрибуте t
, а набор граммем – в наборе элементов <g>
.В секции <link_types>
перечисляются все возможные типы связей между леммами в виде <type id="tid">type_name</type>
, где tid – числовой идентификатор типа (в дальнейшем мы будем на него ссылаться), а type_name – название типа (обычно из латинских букв).
<links>
перечислены все связи между леммами в виде <link id="lid" from="from_id" to="to_id" type="tid"/>
, где lid – числовой идентификатор конкретной связи, from_id и to_id – идентификаторы лемм, между которыми существует эта связь, а tid – идентификатор типа связи.
<?xml version="1.0" encoding="utf8" standalone="yes"?> <dictionary version="0.8" revision="403605"> <grammemes> <grammeme parent="">POST</grammeme> <grammeme parent="POST">NOUN</grammeme> ... </grammemes> <lemmata> <lemma id="1" rev="402007"> <l t="абажур"><g v="NOUN"/><g v="inan"/><g v="masc"/></l> <f t="абажур"><g v="sing"/><g v="nomn"/></f> <f t="абажура"><g v="sing"/><g v="gent"/></f> ... </lemma> ... </lemmata> <link_types> <type id="1">VERB_GERUND</type> ... </link_types> <links> <link id="1" from="104" to="106" type="1"/> ... </links> </dictionary>