Модуль позволяет зарегистрировать в системе произвольное количество карточек и выводов результатов поиска в виде именованных шаблонов.
Настройка шаблонов проводится построением XML-документа по определенным правилам. Для регистрации нового шаблона необходимо зайти в меню «Картки» и выбрать «Добавити картку» или «Добавити перегляд». При этом система запросит название нового шаблона. Предпочтительно называть шаблоны узнаваемым для библиотекаря образом. Далее система создаст заготовку шаблона в следующем виде.
<?xml version="1.0" encoding="windows-1251" ?>
<document>
<card width="125" height="85" margl="6" margr="6" margt="6" margb="12" fs="12" f0="Times New Roman">
</card>
</document>
Как видно шаблон начинается с тега <document>. Следующий тег <card> и именно с него начинается настройка шаблона. Сразу стоит сказать, что для шаблона результатов поиска никаких настроек для <card> можно не проводить. Так как результат сборки документа по шаблону не является отдельным документов, а всего лишь часть (строка в документе).
Тег <card> имеет следующие настройки:
width - ширина (мм), height - высота (мм), margl - левое поле (мм), margr - правое поле (мм), margt - верхнее поле (мм), margb - нижнее поле (мм), fs - размер шрифта «по-умолчанию», f0 - нумерованный шрифт (может быть f1,f2…fn), landscape - портретный или альбомный лист (0/1).
Нумерованный шрифт в дальнейшем можно использовать внутри добавочных данных для полей шаблона.
Не забывайте соблюдать целостность XML-документа. Открытый тег должен быть закрыт. Открытая кавычка должна быть закрыта такой же кавычкой.
Далее внутри тега <card> можно начинать выстраивать элементы шаблона, которые будут формировать результирующий документ. В зависимости от потребностей можно настроить шаблон с использованием таблиц или с помощью отступов, выступов, табуляций. Каждый из методов имеет свои преимущества и недостатки. Но для шаблонов для вывода результата поиска предпочтительно использовать второй вариант.
Для настройки шаблонов предусмотрены группирующие теги: <cell>, <source>; <parnt>, <child> (теги уровня документа3547).
Тег <cell> предназначен для формирования шаблона с помощью таблиц. Он имеет единственный параметр настройки width - ширина колонки(мм).Пример
<card …>
<cell width="20">
…
</cell>
<cell width="92">
…
</cell>
</card>
Тег <source> предназначен для получения данных из источника аналитического издания. Внутри тега <source> есть возможность обращаться к данным с помощью тега <parnt>. Пример
<source>
<parnt>
...
<parnt>
...
</parnt>
...
</parnt>
</source>
Тег <parnt> предназначен для отображения данных из обобщающих описаний (описаний высшего уровня). Так для тома многотомника может браться информация из верхнего уровня. Тег <parnt> может быть вложенным друг в друга. Вложенность позволяет «подниматься» к более высокому уровню. Пример
<parnt>
...
<parnt>
...
</parnt>
...
</parnt>
Тег <child> предназначен для получения данных из документов ниже уровнем. Подход к организации структуры такой же, как и у тега <parnt>.
Теги <parnt>, <source>, <child> могут иметь поля d, b, a. В случае использования поля d можно устанавливать ограничения на связанные документы по маркеру. Ограничения начинается с третьей позиции маркера документа. Так если указано поле d = "m3" то будут выбраны только описания монографического уровня физические единицы. Пробел в данных ограничения означает любой символ: d = " 2" означает все документы второго уровня. Поля b, a описаны ниже.
Для формирования данных из полей описания служит тег <f>. Этот тег может иметь такие поля: n, d, b, a и multi.
Поля n и d используются для означивания данных, получаемых из описания. Поле n используется для указывания групп данных. Группы таких данных могут быть именованными или по номеру поля описания. Именованные данные могут быть следующие:
copy - первый экземпляр (899);copies - все экзепляры (899);author - авторы (700,701,702,710,711,712,720,721,722);head - заголовок (200);edit - сведения об издании (205);place - публикация и распространение (210);volume - количественная характеристика (215);serie - серия (225);isn010 - ISBN;isn011 - ISSN;udk - индекс УДК;bbk - индекс ББК;predmet - рубрикаторы (615 или поля, указанные в d);persones - персоналия (600);waybill - номер, год накладной или путевки (подполя из d: a - год, b - номер);invcnt - количество экземпляров;backinv - перечень инвентарных номеров, распределенных по сиглам хранения;invsdist - все экземпляры из всех документов ниже уровнем.d используется для уточнения списка требуемых подполей и порядка их вывода. Подполя указываются в виде соответствующих букв и цифр. Возможна операция вывода подполя №2 если нет данных в подполе №1 (используется символ |).
Примердля поляauthorиспользуется набор подполей ag|bc (если нет подполя g (полное имя отчество) выводится подполе b (инициалы)
для поляheadиспользуется набор подполей vabdhiefg
для поляeditподполя adfgb
для поляplaceподполя acdegh
для поляvolumeподполя acde
для поляserieподполя adefhixzv
для поляisn010,isn011подполя abd9
для поляpersonesподполя adbgcf
для поляwaybillподполя ab
Поля b и a используются для добавочных данных перед и после поля соответственно. При этом могут быть использованы любые данные и команды, вставляемые внутрь RTF-документа. Как правило это команды форматирования текста, выбор параметров шрифта и другие.
Все представленные примеры несовершенны и требуют доработки в сотрудничестве с библиографом.
Разделительные знаки устанавливаются в настройке полей модуля схем ресурсов.
Пример основной карточки с табличным форматированием (вариант изображения)

<?xml version="1.0" encoding="windows-1251"?>
<document>
<card width="122" height="85" margl="6" margr="6" margt="6" margb="13" fs="12" f0="Courier" landscape="1">
<f b="\f0\fs12" />
<f n="copy" d="h" a="\par" />
<cell width="20">
<f n="463" d="a" />
<f n="copy" d="j" a="\par" />
<f n="copy" d="i" />
</cell>
<cell width="92">
<parnt>
<parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="207" d="a" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="230" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<source>
<f b=" //" />
<parnt a=" -">
<parnt a=" -">
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />d
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</source>
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f b=" - \fs8" n="300" d="a" />
<f b=" - \fs8" n="320" d="a" />
<f b="\fs12" />
<f n="isn010" b=" - " a="." />
<child d=" 2">
<f n="head" b="\par\fs6" a=". - \fs12" />
<child d=" 3">
<f n="head" b="\par\fi9" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
</child>
<child d=" 3">
<f n="head" b="\par\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
</cell>
<f b="\par\pard\qr УДК " n="udk" />
<f b="\par\pard\ql\fs8 --" n="606" />
<f b="\par\pard\ql\fs8 --" n="predmet" />
</card>
</document>Пример основной карточки без таблицы (вариант изображения)

<?xml version="1.0" encoding="windows-1251"?>
<document>
<card width="122" height="70" margl="6" margr="6" margt="6" margb="8" fs="12" f0="Courier" landscape="1">
<f b="\f0\fs12\b" />
<f n="copy" d="h" a="\par" />
<f n="copy" d="i" />
<f b="\b0" />
<source>
<f n="copy" d="h" a="\par" />
<f n="copy" d="i" />
<f b="\b0" />
</source>
<f b="\tx1000" />
<parnt>
<parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" b="\pard\tx800\tab\b" a="\b0\par" />
<f n="head" b="\pard\tx1100\tab" a="." />
<f n="edit" b="- " a="." />
<f n="207" d="a" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="230" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f b=": [" n="327" a="]" d="a" />
<f n="463" b="//\~" a="." d="t" />
<source>
<f b="\fs11" />
<f b=" //" />
<parnt a=" -">
<parnt a=" -">
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="serie" b=" - " a="." />
<f n="isn010" b="- " a="." />
<f b="\fs12" />
</source>
<f n="volume" b="- " a="." />
<f b="- " n="300" a="." d="a" />
<f b="- " n="320" a="." d="a" />
<f n="serie" b="\~- " a="" />
<f n="isn010" b="- " a="." />
<child d=" 2">
<f n="head" b="\par\fs6" a=". - \fs12" />
<child d=" 3">
<f n="head" b="\par\fi9" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
</child>
<child d=" 3">
<f n="head" b="\par\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
<f b="\par\pard\qr УДК " n="udk" />
<f b="\par\pard\qr ББК " n="bbk" />
<f b="\par\pard\ql " n="606" />
<f b="\par\pard\ql --" n="predmet" />
<f n="backinv" b="\par\pard\ql" />
</card>
</document>Пример формуляра (вариант изображения)

<?xml version="1.0" encoding="windows-1251" ?>
<document>
<card width="80" height="120" margl="6" margr="6" margt="6" margb="12" fs="12" f0="Courier">
<f b="\fi0\f0\fs12\qc\b" />
<f n="copies" d="p" multi="1"/>
<f b="\par\pard\fi0\b0\ql" />
<f n="copy" d="j" multi="1" />
<f n="copies" d="h" b="\par" multi="1" />
<f n="copies" d="i" b="\par" multi="1" />
<f b="\tab\tx1000"/>
<parnt>
<parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="200" d="a" a="." />
</parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="200" d="a" a="." />
</parnt>
<f b="\f0\fs12" />
<f n="author" a=". -" />
<f n="200" d="a" b="- " a="." />
<f n="200" d="v" b="- " a="." />
<f n="200" d="h" b="- " a="." />
<f n="200" d="i" b="- " a="." />
<f b="\par\pard\fi0" />
<f n="210" d="d"/>
<f n="copies" d="d" b="\tab\tx2000" multi="1"/>
</card>
</document><?xml version="1.0" encoding="windows-1251" ?>
<document>
<card width="122" height="70" margl="5" margr="5" margt="4" margb="8" fs="12" f0="Courier" landscape="1">
<f n="copy" d="h" a="\par" />
<cell width="20">
<f b="\f0\fs12" />
<f n="463" d="a" />
<f n="copy" d="j" a="\par" />
<f n="copy" d="i" />
</cell>
<cell width="92">
<parnt>
<parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
<f b="\par" />
</parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="207" d="a" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="230" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<source>
<f b="\par//" />
<parnt a=" -">
<parnt a=" -">
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</parnt>
<f n="author" b="\f0\fs12" a="\par" />
<f n="head" b="\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="229" d="a" b="- " a="." />
<f n="serie" b="- " a="." />
<f n="isn010" b="- " a="." />
</source>
<f n="volume" b="- " a="." />
<f n="serie" b="- " a="." />
<f b=" - \fs8" n="300" d="a" />
<f b=" - \fs8" n="320" d="a" />
<f b="\fs12" />
<f n="isn010" b=" - " a="." />
<child d=' 2'>
<f n="head" b="\par\fs6" a=". -" />
<child d=' 3'>
<f n="head" b="\par\fi9" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
</child>
<child d=' 3'>
<f n="head" b="\par\fi6" a="." />
<f n="edit" b="- " a="." />
<f n="place" b="- " a="." />
<f n="volume" b="- " a="." />
<f n="isn010" b="- " a="." />
</child>
</cell>
<f b="\par\pard\ql\tx4000\fs12 УДК \b" a="\b0" n="udk" multi="1" />
</card>
</document><?xml version="1.0" encoding="windows-1251" ?>
<document>
<card width="125" height="85" margl="6" margr="6" margt="6" margb="12" fs="12" f0="Courier" landscape="1">
<f n="backinv" />
</card>
</document>