view dist/biotopes/doc/readme.html @ 1:548a93c24e55

Tema 0.1jk - Javakonkurs edition (imported from CVS).
author Mikhail Kryshen <mikhail@kryshen.net>
date Thu, 14 Dec 2006 23:22:05 +0300
parents
children
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "DTD/xhtml1-transitional.dtd">
4 <html>
6 <head>
7 <title>DbReader</title>
8 <meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
9 </head>
11 <body>
12 <h1>DbReader</h1>
14 <h2>Установка программы</h2>
15 <ol>
16 <li>Распаковать архив.</li>
18 <li>Установить источник данных:<br />
19 в Windows 2000: Панель управления/Администрирование/Источники данных (ODBC), добавить biotopes-data.mdb.</li>
21 <li>Настроить программу:<br />
22 В файле dbreader.properties указать имя, присвоенное источнику данных:<br />
23 <code>resource: jdbc:odbc:<em>имя</em></code><br />
24 и путь к каталогу, относительно которого программа будет искать изображения (содержащий biotopephotos и maps):<br />
25 <code>resource_base: C:\\biotopes</code><br />
26 (символ '\' необходимо дублировать)</li>
28 <li>Запуск программы:<br />
29 <code>dbreader.bat</code> или<br />
30 <code>java -jar dbreader.jar</code>.<br />
31 Для запуска необходима Java Runtime Environment (JRE) 5.0, можно скачать с <a href="http://java.sun.com/j2se/1.5.0/download.jsp">http://java.sun.com/j2se/1.5.0/download.jsp</a>. Возможно, будет работать и со старыми версиями JRE - не проверял.
33 Все значения файла конфигурации можно переопределять при запуске программы:<br />
34 команда <code>java -Dru.karrc.dbreader.<em>ключ</em>=<em>значение</em> -jar dbreader.jar</code><br />
35 (например: <code>java -Dru.karrc.dbreader.log=dbreader.log -jar dbreader.jar</code>)</li>
36 </ol>
38 <h2>Работа программы</h2>
40 <p>Программа выполняет запрос biotope.sql (или другой, указанный в dbreader.properties), после чего обрабатывает файл biotope.template, заменяя найденные в нем инструкции на результаты их выполнения.</p>
41 <p>Формат инструкций: <code>&lt;%<em>список_функций</em>[:|\]<em>данные</em>%&gt;</code>, <em>список функций</em> - имена функций разделенные пробелом, список может быть пустым. Если указано несколько функций, они выполняются начиная с последней.</p>
43 <h3>Разделители между списком функций и данными</h3>
45 <ul>
46 <li><code>:</code> - данные будут обрабатываться рекурсивно.</li>
47 <li><code>\</code> - данные будут переданы функции без обработки. Можно использовать для экранирования комбинаций символов <code>&lt;%</code> и <code>%&gt;</code> (<code>&lt;%\&lt;%%&gt;</code> и <code>&lt;%\%%&gt;&gt;</code>).</li>
48 </ul>
50 <h3>Функции</h3>
52 <ul>
53 <li><code>&lt;%get:<em>имя</em>%&gt;</code><br />
54 Заменяется на значение встроенной переменной или колонки запроса.</li>
56 <li><code>&lt;%optional:<em>текст</em>%&gt;</code><br />
57 Заменяется на <em>текст</em>, если в нем найдены инструкции, заменившиеся на непустые строки, иначе заменяется на пустую строку.</li>
59 <li><code>&lt;%escape:<em>текст</em>%&gt;</code><br />
60 Заменяет в тексте "опасные" символы (таблица замен задается в файле конфигурации).</li>
62 <li><code>&lt;%invoke:<em>имя</em>; <em>парам1</em> <em>парам2</em> ... <em>парамN</em>%&gt;</code><br />
63 Выполняет запрос с параметрами <em>имя</em>.sql и заменяется на результаты обработки шаблона <em>имя</em>.template. Значения параметров подставляются в запрос вместо символа '?'.</li>
65 <li><code>&lt;%image:<em>исх_файл</em> <em>кон_файл</em> <em>формат</em> [<em>макс_ширина</em>] [<em>макс_высота</em>]%&gt;</code><br />
66 Загружает изображение из файла <em>исх_файл</em> (путь определяется относительно конфигурационного параметра "resource_base") и преобразует его в указанный формат, сохраняя результат в <em>кон_файл</em>. Если заданы максимальная высота и ширина, большие изображения будут уменьшены.
67 При успешном выполнении, инструкция <code>&lt;%image:...%&gt;</code> будет заменена на значение <em>кон_файл</em>, иначе - на пустую строку.</li>
69 <li><code>&lt;%copy:<em>исх_файл</em> <em>кон_файл</em>%&gt;</code><br />
70 Копирует файл <em>исх_файл</em> (путь определяется относительно конфигурационного параметра "resource_base") в <em>кон_файл</em>. При успешном выполнении, инструкция <code>&lt;%copy:...%&gt;</code> будет заменена на значение <em>кон_файл</em>, иначе - на пустую строку.</li>
71 </ul>
73 <h3>Встроенные переменные</h3>
75 <p><code>NUMBER</code> - порядковый номер строки результата выполнения запроса.
76 Чтобы обратиться к переменной запроса, из которого обрабатываемый шаблон был вызван с помощью функции invoke, перед именем переменной нужно добавить <code>SUPER.</code> (например: <code>SUPER.NUMBER</code>).</p>
78 <h3>Пример</h3>
80 <p>Следующая инструкция получит значение из столбца name и заменит в нем специальные символы:</p>
81 <p><code>&lt;%escape get:name%&gt;</code></p>
83 <p align="right"><i><a href="mailto:kryshen@cs.karelia.ru">Михаил Крышень</a></i></p>
85 </body>
86 </html>