Создание HelpSet с помощью программы JavaHelp(tm)
1 Введение 2 Пример для демонстрации 3 Индексный файл и файл содержания 4 Проверка результата 5 Ссылки
В этой статье:
Содержание
Введение
Программа JavaHelp дает вам возможность добавить систему оперативной помощи к любой системе с Java Runtime Environment (JRE). При помощи JavaHelp вы можете встроить оперативную документацию в ваши клиентские программы. Это можно сделать для апплетов и приложений. Кроме того, можно использовать JavaHelp либо с компонентами JavaBeans(tm), либо в качестве автономной системы помощи для сторонних систем.
Начать работу с JavaHelp легко. Просто зайдите на страницу http://java.sun.com/products/javahelp/download_binary.html. Вы можете загрузить либо пользовательскую версию с JRE, либо версию, ориентированную на разработчиков (в виде Zip-архива или самораспаковывающейся программы). В загрузочном пакете находится также "Руководство пользователя по JavaHelp". Просматривая это руководство, вы увидите систему JavaHelp в действии.
После запуска основанной на Swing системы помощи для JavaHelp на экране отображается информация в нескольких областях просмотра. Среди этих областей - содержание, индекс тем и система поиска. Эти три системы вместе называются HelpSet и могут включать в себя несколько файлов тем. Естественно, работа по созданию файлов тем помощи и навигационных файлов, связывание темы помощи с файлом, содержащим необходимую информацию, остается за вами. Файлы тем имеют формат HTML, а навигационные файлы форматируются в XML. Хотя вы можете использовать программные средства сторонних производителей для автоматизации создания необходимых файлов. Например, программа RoboHELP генерирует необходимые файлы в формате JavaHelp. Список программ, поддерживающих формат программы JavaHelp, находится на странице http://java.sun.com/products/javahelp/industry.html.
Пример для демонстрации
Для демонстрации системы JavaHelp в действии давайте создадим HelpSet "Hello, JavaHelp". Для этого необходимо настроить специальную схему каталогов. Это поможет не смешивать файлы HelpSet с другими. Навигационные файлы располагаются в каталоге верхнего уровня, а файлы тем и изображений - в подкаталогах.
Сначала создайте каталог с именем help. В нем создайте каталог Hello.
В каталоге Hello создайте подкаталоги для хранения реальных файлов помощи. Для демонстрации "Hello, JavaHelp" создайте один каталог First и второй - Last.
После создания структуры каталогов можно начать создание навигационных файлов и файлов помощи. Структура каталогов выглядит так:
+ help + Hello + First + LastDTD для главного файла HelpSet находится на странице http://java.sun.com/products/javahelp/helpset_1_0.dtd. В этом файле создаются записи для элементов карты, а также оглавление и индекс. Нет ничего сложного в названиях файлов. Необходимо только, чтобы файл HelpSet заканчивался расширением .hs. Ниже приведен в качестве примера файл HelpSet - hello.hs; карта находится в файле Map.jhm, содержание - в toc.xml, а индекс - в index.xml. Создайте файл hello.hs в каталоге help.
xmlversion='1.0'encoding='ISO-8859-1'?>DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">version="1.0"> Hello, JavaHelp location="Map.jhm"/> overview TOCTOC javax.help.TOCViewtoc.xml IndexIndex javax.help.IndexViewindex.xml
Для файла карты необходимо создать отображение ID на файлы, например, следующим образом:
target="one"url="Hello/First/one.htm"/> Проверьте, что месторасположение файлов помощи задано относительно HelpSet. Вы можете жестко запрограммировать полные пути, но как только вы переместите JAR, все пути станут неправильными. Естественно, эти пути могут быть полными URL на ресурсы в Web. Если вы имеете один файл помощи в основном каталоге (overview.htm) и по два файла помощи в каждом из каталогов First и Least, ваш XML-файл карты отображения может выглядеть следующим образом. Создайте этот файл Map.jhm в основном каталоге.
xmlversion='1.0'encoding='ISO-8859-1'?>DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
Индексный файл и файл содержания
Теперь о файле содержания и индексном файле. Они обеспечивают альтернативное средство работы с различными файлами помощи. Они также описываются в XML-файлах.
Для файла содержания каждое задание из карты отображается в текст, появляющийся в содержании. Создайте следующий файл toc.xml в основном каталоге.
xmlversion='1.0'encoding='ISO-8859-1'?>DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">version="1.0"> image="toplevelfolder"target="overview"text="Hello, JavaHelp"> text="First Stuff"> target="one"text="The One"/> target="two"text="The Second"/> text="Last Stuff"> target="three"text="What's Third?"/> target="four"text="The End"/>
Индекс - это еще один способ представления данных. При создании файла index.xml вы должны упорядочить термины в той последовательности, в которой хотите их отобразить. Просто создайте XML-файл с набором иерархических элементов
xmlversion='1.0'encoding='ISO-8859-1'?>DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN" "http://java.sun.com/products/javahelp/index_1_0.dtd">version="1.0"> text="The First?"> target="one"text="I'm One"/> target="two"text="I'm Second"/> text="The Last?"> target="three"text="We're Third!"/> target="four"text="We're Last"/> target="overview"text="Overview!!!"/>
В файле карты отображения упоминается пять HTML-файлов:
Hello/overview.htm Hello/First/one.htm Hello/First/two.htm Hello/Last/three.htm Hello/Last/four.htmСледовательно, вы должны создать их. Создайте эти файлы в соответствующих подкаталогах или каталоге Hello. Попробуйте создать файлы с какой-либо интересной информацией, например, запишите несколько предложений обзорной информации в файле overview.htm. Полная структура каталога теперь будет выглядеть следующим образом:
+ help hello.hs index.xml Map.jhm toc.xml + Hello overview.htm + First one.htm two.htm + Last three.htm four.htmПроверка результата
Для проверки правильности проделанных действий запустите программу hsviewer, поставляющуюся с JavaHelp, и загрузите файл hello.hs. Программа hsviewer находится в подкаталоге demos/bin (Unix) или demos\bin (Windows) каталога с установленным пакетом JavaHelp. Например, в Unix перейдите в подкаталог demos/bin и введите:
hsviewer -helpset hello.hs -classpath pathЗамените "path" на путь к hello.hs HelpSet.
После запуска hsviewer нажмите на кнопку Browse и найдите файл hello.hs. Затем нажмите на кнопку Display для активизации файла помощи. Поскольку hello.hs содержит два тега
Вы можете также добавить закладку поиска. Для этого запустите программу jhindexer и добавьте еще один элемент
jhindexer HelloЕсли команда отсутствует в вашей переменной path, необходимо ввести полный путь к jhindexer. Эта программа находится в подкаталоге javahelp/bin (Unix) или javahelp\bin (Windows) вашего каталога с установленным пакетом JavaHelp.
Ниже приведен тег
SearchWord Search javax.help.SearchViewengine="com.sun.java.help.search.DefaultSearchEngine"> JavaHelpSearch
Ссылки
Дополнительная информация о сравнении с шаблоном и регулярных выражениях находится в статье "Регулярные выражения и язык программирования Java" (http://java.sun.com/jdc/technicalArticles/releases/1.4regex/).