Утилита Xml2Sol конвертирует описание словарных статей из XML формата во внутренний формат описания словаря, который разбирается программой YGRES при сборке словаря.
Конвертация одного файла:
xml2sol входной_xml_файл выходной_sol_файл
Конвертация множества XML файлов:
xml2sol каталог_с_xml_файлами каталог_для_записи_результатов
Второй вариант удобен в случаях, когда количество импортируемых словарных статей велико и последующая компиляция одного большого sol-файла требует чрезмерно больших ресурсов. Каждый
XML файл в указанном исходном каталоге порождает один sol-файл в
каталоге результатов, и кроме этого по итогам конверсии будет
сформирован файл со списком имен sol-файлов, который можно указать в
проекте сборки словаря.
Утилита конвертации доступна в исходных текстах на языке C#. Она входит в состав SDK Грамматического Словаря.
Один XML файл может содержать множество словарных статей:
<dataroot>
<entry>
описание статьи
</entry>
<entry>
описание статьи
</entry>
...
<dataroot>
Описание каждой словарной статьи состоит из заголовка с именем статьи (узел name), именем грамматического класса (узел class), блока неизменных для статьи морфологических признаков (узел attrs), списка словоформ (узел forms) и опционально - записей для тезауруса (узел links):
<entry>
<name>кошка</name> имя статьи это обычно совпадает с базовой формой, хотя это не обязательно
<class>СУЩЕСТВИТЕЛЬНОЕ</class> имя грамматического класса должно в точности совпадать с тем, как он объявлен в словаре
<attrs>
<attr><name>РОД</name><state>ЖЕН</state><attr> признак и его значение должны совпадать с объявленными в словаре
<attr><name>ОДУШ</name><state>ОДУШ</state><attr>
</attrs>
<forms>
<form>
<name>кошка</name>
<attrs>
<attr><name>ПАДЕЖ</name><state>ИМ</state><attr>
<attr><name>ЧИСЛО</name><state>ЕД</state><attr>
</attrs>
</form>
<form>
<name>кошки</name>
<attrs>
<attr><name>ПАДЕЖ</name><state>ИМ</state><attr>
<attr><name>ЧИСЛО</name><state>МН</state><attr>
</attrs>
</form>
<links>
<link>
<type>synonym</type>
<class>СУЩЕСТВИТЕЛЬНОЕ</class>
<entry>КИСА</entry>
<link>
</links>
</forms>
</entry>
1. Утилита использует в работе словарь, поэтому в текущем каталоге должен быть корректно сформированный файл dictionary.xml.
2. Имена грамматических классов, морфологических признаков и их состояний, типов связей в тезаурусе должны задаваться в точности так, как они объявлены в словаре. В случае каких-либо ошибок конвертация аварийно прерывается.
3. Если в ходе чтения описания статьи однаруживается, что такая статья уже есть в словаре, то новое описание игнорируется без выдачи ошибок. Это позволяет выполнять инкрементальную конвертацию.
4. Для каждой словарной статьи обязательно должны быть заданы признаки-атрибуты, заданные в ее грамматическом классе. Например, для русских существительных обязательно надо задавать род, одушевленность и перечислимость. При нарушении этого правила возникнет ошибка при последующей компиляции результатов конвертации программой compiler.
5. Если при чтении списка записей для добавления в тезаурус обнаруживается, что такая запись уже есть, то новая запись просто игнорируется без каких-либо последствий.
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
последние изменения 01-Jul-10 | ||||||||||||||||||||||||||||||||||||||