text/plain; charset=UTF-8

Установка программы
-------------------

1. Распаковать архив.

2. Установить источник данных:
в Windows 2000: Панель управления/Администрирование/Источники данных (ODBC), добавить biotopes.mdb.

3. Настроить программу:
В файле dbreader.properties указать имя, присвоенное источнику данных:
    "resource: jdbc:odbc:<имя>"
и путь к каталогу, относительно которого программа будет искать изображения (содержащий biotopephotos и maps):
    "resource_base: C:\\biotopes"
(символ '\' необходимо дублировать)

4. Запуск программы: dbreader.bat или "java -jar dbreader.jar"
Для запуска необходима Java Runtime Environment (JRE) 5.0, можно скачать с http://java.sun.com/j2se/1.5.0/download.jsp. Возможно, будет работать и со старыми версиями JRE - не проверял.

Все значения файла конфигурации можно переопределять при запуске программы:
    команда "java -Dru.karrc.dbreader.<ключ>=<значение> -jar dbreader.jar"
(например: "java -Dru.karrc.dbreader.log=dbreader.log -jar dbreader.jar")


Работа программы
----------------

Программа выполняет запрос biotope.sql (или другой, указанный в dbreader.properties), после чего обрабатывает файл biotope.template, заменяя найденные в нем инструкции на результаты их выполнения.

Формат инструкций: "<%список_функций[:|\]данные%>", список функций - имена функций разделенные пробелом, список может быть пустым. Если указано несколько функций, они выполняются начиная с последней.

Разделители между списком функций и данными:
':' - данные будут обрабатываться рекурсивно.
'\' - данные будут переданы функции без обработки. Можно использовать для экранирования комбинаций символов "<%" и "%>" ("<%\<%%>" и "<%\%%>>").

Функции:
<%get:<имя>%> - заменяется на значение встроенной переменной или колонки запроса.

<%optional:<текст>%>
Заменяется на <текст>, если в нем найдены инструкции, заменившиеся на непустые строки, иначе заменяется на пустую строку.

<%escape:<текст>%>
Заменяет в тексте "опасные" символы (таблица замен задается в файле конфигурации).

<%invoke:<имя> <парам1> <парам2> ... <парамN>%>
Выполняет запрос с параметрами <имя>.sql и заменяется на результаты обработки шаблона <имя>.template. Значения параметров подставляются в запрос вместо символа '?'.

<%image:<исх_файл> <кон_файл> <формат> [<макс_ширина>] [<макс_высота>]%>
Загружает изображение из файла <исх_файл> (путь определяется относительно конфигурационного параметра "resource_base") и преобразует его в указанный формат, сохраняя результат в <кон_файл>. Если заданы максимальная высота и ширина, большие изображения будут уменьшены.
При успешном выполнении, инструкция "<%!image ...%>" будет заменена на значение <кон_файл>, иначе - на пустую строку.

<%copy:<исх_файл> <кон_файл>%>
Копирует файл <исх_файл> (путь определяется относительно конфигурационного параметра "resource_base").
При успешном выполнении, инструкция "<%!copy ...%>" будет заменена на значение <кон_файл>, иначе - на пустую строку.

Встроенные переменные:
NUMBER - порядковый номер строки результата выполнения запроса.
Чтобы обратиться к переменной запроса, из которого обрабатываемый шаблон был вызван с помощью функции invoke, перед именем переменной нужно добавить "SUPER." (например: "SUPER.NUMBER").

Пример:
Следующая инструкция получит значение из столбца name и заменит в нем специальные символы:
<%escape get:name%>