summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook')
-rw-r--r--tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook2692
1 files changed, 2692 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook b/tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook
new file mode 100644
index 00000000000..9b9242c04ae
--- /dev/null
+++ b/tde-i18n-ru/docs/tdewebdev/quanta/extending-quanta.docbook
@@ -0,0 +1,2692 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<chapter id="extending-quanta-3-2">
+<chapterinfo>
+<title
+>Расширение &quantaplus;</title>
+<authorgroup>
+<author
+><firstname
+>Christopher</firstname
+> <surname
+>Hornbaker</surname
+> <affiliation
+> <address
+><email
+>chrishornbaker@earthlink.net</email
+></address>
+</affiliation>
+</author>
+<author
+><firstname
+>Andr&#225;s</firstname
+> <surname
+>Mantia</surname
+> <affiliation
+> <address
+><email
+>amantia@kde.org</email
+></address>
+</affiliation>
+</author>
+
+<othercredit role="translator"
+><firstname
+>Николай</firstname
+><surname
+>Шафоростов</surname
+><affiliation
+><address
+><email
+>shafff@ukr.net</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+>
+
+</authorgroup>
+</chapterinfo>
+
+<title
+>Расширение &quantaplus;</title>
+
+<para
+>Эта глава описывает процесс расширения базовых возможностей &quantaplus; для ваших нужд и как вы можете содействовать её развитию. </para>
+
+<!--<sect1 id="kommander-3-2">
+<title
+>Using Kommander With &quantaplus;</title>
+
+<para>
+Kommander, by Marc Britton.
+</para>
+</sect1
+> -->
+
+<sect1 id="dtep-intro-3-2">
+<title
+>Пакеты правки типов документов (Document Type Editing Package, &DTEP;)</title>
+
+<para
+>&DTEP; используются в &quantaplus; для поддержки языков разметки, сценариев и &CSS;. Они позволяют обеспечить такие функции как автозавершение, редактирование тегов. Их простота и надёжность делает &quantaplus; быстрой, дружественной средой для веб-разработчиков. </para>
+
+<para
+>&DTEP; делятся на две семьи - разметочную (далее - семья 1) и сценарную с &CSS; (далее - семья 2). &DTEP; состоит из двух частей - каталога тегов и панелей инструментов. Каталог тегов состоит из файла описания description.rc и файла TagXML с расширением .tag. Панель инструментов - это набор кнопок со значками (над окном редактирования), каждая из которых соответствует какому-либо тексту, вставляемому в документ при нажатии на неё (часто это шаблон тега). </para>
+
+<para
+>&DTEP; можно создать самому вручную (см. ниже), <link linkend="download-resources"
+>загрузить</link
+> или создать автоматически из DTD. Такое преобразование описано в <xref linkend="converting-dtd"/>. </para>
+
+<para
+>В этой части описывается создание файлов TagXML, &descriptionrc; и панелей инструментов. В общем, &DTEP;. </para>
+
+<para
+>Файлы TagXML (.tag) определяют атрибуты, специфичные для данного тега и содержимое диалога "Свойства тега". Файл &descriptionrc; содержит правила и данные о &DTEP;. Панели инструментов позволяют быстро обратиться к тому или иному тегу для вставки его в документ. </para>
+
+<sect2 id="dtep-packaging-3-2">
+<title
+>Создание пакетов</title>
+
+<para
+>Каталоги тегов - это обычные каталоги, содержащие файлы &descriptionrc; и TagXML. В их названии отражается название языка разметки с его версией (например, html-4.01-strict) </para>
+</sect2>
+
+<sect2 id="tagxml-3-2">
+<title
+>TagXML</title>
+
+<para
+>Таблица содержит список элементов, определённых в TagXML и говорит, обязательны они, или нет. Не смотря на то, что обязательны не все, рекомендуется всё же использовать как можно больше доступных элементов, чтобы пользователи имели больше настроек и информации. </para>
+
+<informaltable>
+<tgroup cols="3">
+<thead>
+<row>
+<entry
+>Элемент</entry>
+<entry
+>Использование по умолчанию</entry>
+<entry
+>Частное использование</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>TAGS</entry>
+<entry
+>required</entry>
+<entry
+>always</entry>
+</row>
+<row>
+<entry
+>tag</entry>
+<entry
+>required</entry>
+<entry
+>always</entry>
+</row>
+<row>
+<entry
+>label</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно для диалога "Свойства"</entry>
+</row>
+<row>
+<entry
+>attr</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно для определения атрибута</entry>
+</row>
+<row>
+<entry
+>tooltip</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно для подсказок в диалоге "Свойства"</entry>
+</row>
+<row>
+<entry
+>whatsthis</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно для возможности отображения краткой справки <quote
+>Что это? </quote
+></entry>
+</row>
+<row>
+<entry
+>list</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно если attr имеет тип <quote
+>list</quote
+></entry>
+</row>
+<row>
+<entry
+>item</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно если используется &lt;list
+></entry>
+</row>
+<row>
+<entry
+>textlocation</entry>
+<entry
+>optional</entry>
+<entry
+>always</entry>
+</row>
+<row>
+<entry
+>location</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно если используется метка</entry>
+</row>
+<row>
+<entry
+>text</entry>
+<entry
+>optional</entry>
+<entry
+>обязательно если используется метка</entry>
+</row>
+<row>
+<entry
+>children</entry>
+<entry
+>optional</entry>
+<entry
+>список тегов, которые могут использоваться в определяемом</entry>
+</row>
+<row>
+<entry
+>child</entry>
+<entry
+>required</entry>
+<entry
+>дочерний элемент</entry>
+</row>
+<row>
+<entry
+>stoppingtags</entry>
+<entry
+>optional</entry>
+<entry
+>список тегов, которые приводят к окончанию действия другого тега</entry>
+</row>
+<row>
+<entry
+>stoppingtag</entry>
+<entry
+>required</entry>
+<entry
+>тег, который приводит к окончанию действия другого тега</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+
+<sect3 id="dtep-element-descriptions-3-2">
+<title
+>Описания элементов TagXML</title>
+
+<para
+>Ниже детально описывается каждый элемент. </para>
+
+<sect4 id="TAGS-3-2">
+<title
+>TAGS</title>
+
+<para
+>Корневой элемент файла TagXML. Может встречаться только один раз. Содержит определение нескольких тегов. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+<entry
+>tag</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="tag-3-2">
+<title
+>tag</title>
+
+<para
+>Название определяемого тега. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>TAGS</entry>
+<entry
+>label, attr, stoppingtags</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="6">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry
+><entry
+>Значения</entry>
+<entry
+>По умолчанию</entry
+><entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>name</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+<entry
+>required</entry
+><entry
+>Название определяемого тега.</entry>
+</row>
+<row>
+<entry
+>single</entry
+><entry
+>boolean</entry
+><entry
+></entry
+><entry
+></entry>
+<entry
+>optional</entry
+><entry
+>Требуется ли закрывающий тег &lt;/имя_тега
+>.</entry>
+</row>
+<row>
+<entry
+>type</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+>xmltag</entry>
+<entry
+>optional</entry
+><entry
+>Тип определяемого тега.</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>xmltag</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Тип тега основывается на XML (только семья 1).</entry>
+</row>
+<row>
+ <entry
+></entry
+><entry
+></entry
+><entry
+>entity</entry
+><entry
+></entry>
+ <entry
+></entry
+><entry
+>Тип тега основывается на сущности (только семья 1).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>property</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Тип тега основывается на &CSS; (только семья 2).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>function</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Тип тега - функция сценария. Если это так, &lt;attr
+> становится аргументами функции (только семья 2).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>class</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Тип тега - класс сценария (только семья 2).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>method</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Тип тега - метод класса (только семья 2).</entry>
+</row>
+<row>
+<entry
+>returnType</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+>void </entry>
+<entry
+>optional</entry
+><entry
+>Тип возвращаемого значения определяемой функции (только семья 2)</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>void</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Возвращаемое значение игнорируется (void).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>int</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Возвращается число (integer).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>float</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Возвращается число с плавающей точкой (floating point).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>long</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Возвращается длинное целочисленное (long integer).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>string</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Возвращается строка</entry>
+</row>
+<row>
+ <entry
+>version</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Версия языка, для которой тег разрешён</entry>
+</row>
+<row>
+ <entry
+>extends</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Разрешено только если тип атрибута - "class". Имя базового класса (только семья 2).</entry>
+</row>
+<row>
+ <entry
+>class</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Разрешено только если тип атрибута - "method". Имя класса, к которому принадлежит метод (только семья 2).</entry>
+</row>
+<row>
+ <entry
+>common</entry
+><entry
+>boolean</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Если "yes", тег указывает группу общих атрибутов и они могут быть добавлены в любой другой тег (только семья 1).</entry>
+</row>
+<row>
+ <entry
+>comment</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>строка, выводящаяся возле имени тега в списке автозавершения</entry>
+</row
+></tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="label-3-2">
+<title
+>label</title>
+
+<para
+>Добавить в диалог метку. Её текст указывается тегом &lt;text
+>. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>tag</entry>
+<entry
+>text, location</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="attr-3-2">
+<title
+>attr</title>
+
+<para
+>Определяет один атрибут тега. Содержит имя, тип атрибута, информацию о его отображении. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>tag</entry>
+<entry
+>location, list, tooltip, whatsthis, textlocation</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="6">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry
+><entry
+>Значения</entry>
+<entry
+>По умолчанию</entry
+><entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>name</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+<entry
+>required</entry
+><entry
+>Имя определяемого атрибута.</entry>
+</row>
+<row>
+<entry
+>type</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+>input</entry>
+<entry
+>required</entry
+><entry
+>Тип определяемого атрибута.</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>input</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Поте текстового ввода (text field).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>check</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Логическое поле (check box).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>color</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Значение поля - цвет</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>url</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Значение поля - &URL; (или локальный файл)</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>list</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Значение поля - запись указанного списка.</entry>
+</row>
+<row>
+<entry
+>status</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+>optional</entry>
+<entry
+>required</entry
+><entry
+>Обязательность аргумента (только семья 2).</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>optional</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Аргумент необязателен</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>required</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Аргумент обязателен</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>implied</entry
+><entry
+></entry>
+<entry
+></entry
+><entry
+>Аргумент есть неявный.</entry>
+</row>
+<row>
+ <entry
+>source</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Указывает источники вариантов значений атрибута в редакторе тегов и дереве атрибутов</entry>
+</row>
+<row>
+ <entry
+></entry
+><entry
+></entry
+><entry
+>selection</entry
+><entry
+></entry>
+ <entry
+></entry
+><entry
+>Выделенный текст</entry>
+</row>
+<row>
+ <entry
+></entry
+><entry
+></entry
+><entry
+>dcop</entry
+><entry
+></entry>
+ <entry
+></entry
+><entry
+>Вывод метода dcop</entry>
+</row>
+<row>
+ <entry
+>interface</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Требует source="dcop". Интерфейс dcop из &quantaplus;.</entry>
+</row>
+<row>
+ <entry
+>method</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Требует source="dcop" и имени интерфейса. Имя метода, предоставляемого интерфейсом &quantaplus;.</entry>
+</row>
+<row>
+ <entry
+>arguments</entry
+><entry
+>string</entry
+><entry
+></entry
+><entry
+></entry>
+ <entry
+>optional</entry
+><entry
+>Требует source="dcop" имени интерфейса и метода. Аргументы, передаваемые методу. Может быть пустым или "%tagname%" (имя текущего тега).</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="tooltip-3-2">
+<title
+>tooltip</title>
+
+<para
+>Текст подсказки поля (отображается при наведении курсора на него). </para>
+
+<note>
+<para
+>Поддерживается только обычный текст (т.е. нельзя использовать никакие теги). </para>
+</note>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>attr</entry>
+<entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="whatsthis-3-2">
+<title
+>whatsthis</title>
+
+<para
+>Текст "Что это?" для данного поля. </para>
+
+<note>
+<para
+>Поддерживается только обычный текст (т.е. нельзя использовать никакие теги). </para>
+</note>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>attr</entry>
+<entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="list-3-2">
+<title
+>list</title>
+
+<para
+>Тег, сводящий вместе записи в списке. Может употребляться только один раз для каждого описания атрибута. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>attr</entry>
+<entry
+>item</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="item-3-2">
+<title
+>item</title>
+
+<para
+>Определяет запись в списке. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>list</entry>
+<entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="textlocation-3-2">
+<title
+>textlocation</title>
+
+<para
+>Позиция в окне свойств параметра, отвечающего атрибуту тега. Может употребляться только один раз для каждого атрибута диалога (т.е. для каждого &lt;attr
+>). Не может содержать подэлементы. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry>
+<entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>attr</entry>
+<entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="4">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry>
+<entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>row</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>required</entry
+><entry
+>Ряд поля или метки при отображении в окне.</entry>
+</row>
+<row>
+<entry
+>col</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>required</entry
+><entry
+>Столбец поля или метки при отображении в окне.</entry>
+</row>
+<row>
+<entry
+>rowspan</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>optional</entry
+><entry
+>Число рядов, отводимых полю.</entry>
+</row>
+<row>
+<entry
+>colspan</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>optional</entry
+><entry
+>Число столбцов, отводимых полю.</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="location-3-2">
+<title
+>location</title>
+
+<para
+>Положение и размер поля в окне свойств. Может употребляться только один раз для каждого поля в диалоге (т.е. для каждого &lt;attr
+> и &lt;label
+>). Не может содержать подэлементы. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>label, attr</entry
+><entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="4">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry>
+<entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>row</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>required</entry
+><entry
+>Ряд поля или метки при отображении в окне.</entry>
+</row>
+<row>
+<entry
+>col</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>required</entry
+><entry
+>Столбец поля или метки при отображении в окне.</entry>
+</row>
+<row>
+<entry
+>rowspan</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>optional</entry
+><entry
+>Число рядов, отводимых полю.</entry>
+</row>
+<row>
+<entry
+>colspan</entry
+><entry
+>неотрицательное целое</entry>
+<entry
+>optional</entry
+><entry
+>Число столбцов, отводимых полю.</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="text-3-2">
+<title
+>text</title>
+
+<para
+>Текст метки или флажка (check box). </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>label, attr</entry
+><entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="children-3-2">
+<title
+>children</title>
+
+<para
+>Список элементов, которые могут использоваться в определяемом теге. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>tag</entry
+><entry
+>child</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="child-3-2">
+<title
+>child</title>
+
+<para
+>Дочерний тег. Не может содержать подэлементы. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>children</entry
+><entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="4">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry
+><entry
+>Значения</entry>
+<entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>name</entry
+><entry
+>string</entry
+><entry
+></entry>
+<entry
+>required</entry
+><entry
+>Тег, который может употребляться в некотором другом теге.</entry>
+</row>
+<row>
+<entry
+>использование</entry
+><entry
+>string</entry
+><entry
+></entry>
+<entry
+>optional</entry
+><entry
+>Отношение к родителю.</entry>
+</row>
+<row>
+<entry
+></entry
+><entry
+></entry
+><entry
+>required</entry>
+<entry
+></entry
+><entry
+>Родитель должен иметь как минимум одного потомка с этим именем.</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="stoppingtags-3-2">
+<title
+>stoppingtags</title>
+
+<para
+>Список элементов, которые приводят к окончанию действия тега. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>tag</entry
+><entry
+>stoppingtag</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+
+<sect4 id="stoppingtag-3-2">
+<title
+>stoppingtag</title>
+
+<para
+>Тег, приводящий к окончанию действия другого тега. Не может содержать подэлементы. </para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+<row>
+<entry
+>Родительские элементы</entry
+><entry
+>Дочерние элементы</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>stoppingtags</entry
+><entry
+><emphasis
+>НЕТ</emphasis
+></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<informaltable>
+<tgroup cols="4">
+<thead>
+<row>
+<entry
+>Атрибут</entry
+><entry
+>Тип</entry>
+<entry
+>Use</entry
+><entry
+>Описание</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry
+>name</entry
+><entry
+>string</entry>
+<entry
+>required</entry
+><entry
+>Теги, приводящие к окончанию действия другого тега.</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect4>
+</sect3>
+
+<sect3 id="tagxml-usage-3-2">
+<title
+>Использование TagXML</title>
+
+<para
+>Все файлы TagXML должны начинаться с декларации &XML;: &lt;?xml version="1.0" encoding="UTF-8"?>, правильно структурированными и закрытыми. </para>
+
+<important>
+<para
+>Пробелы не играют роли, однако следите за символами &amp; и &lt;. В элементах &lt;tooltip
+>, &lt;whatsthis
+>, &lt;text
+>, их лучше заменить на &amp;amp; и &amp;lt; соответственно. Невыполнение этого не приведёт к краху, но ваша работа может пропасть. </para>
+</important>
+</sect3>
+
+<sect3 id="tagxml-validation-3-2">
+<title
+>Проверка TagXML</title>
+
+<para
+>Чтобы выполнить проверку файлов TagXML, выберите <quote
+>Сервис</quote
+>, <quote
+>Проверить TagXML.</quote
+>. </para>
+
+<note>
+<para
+>Эта функция пока что не реализована и проверка происходит при загрузке файлов TagXML в &quantaplus;. </para>
+</note>
+</sect3>
+
+<sect3 id="tagxml-examples-3-2">
+<title
+>Примеры TagXML</title>
+
+<sect4 id="family-one-3-2">
+<title
+>Семья 1</title>
+
+<para
+>Ниже следует файл TagXML семьи 1. Он описывает элемент &W3C; &XML; &lt;schema
+>. Имя такого файла будет schema.tag. Просто, не так ли? </para>
+
+<informalexample>
+<literallayout
+><markup>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;!DOCTYPE TAGS>
+&lt;TAGS>
+ &lt;tag name="schema">
+ &lt;label>
+ &lt;text
+>id&lt;/text>
+ &lt;location col="0" row="0"/>
+ &lt;/label>
+ &lt;attr name="id" type="input">
+ &lt;tooltip
+>A unique ID for the element.&lt;/tooltip>
+ &lt;whatsthis
+>A unique ID for the element.&lt;/whatsthis>
+ &lt;location col="1" row="0"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>version&lt;/text>
+ &lt;location col="0" row="1"/>
+ &lt;/label>
+ &lt;attr name="version" type="input">
+ &lt;tooltip
+>Version of the schema.&lt;/tooltip>
+ &lt;whatsthis
+>Version of the schema.&lt;/whatsthis>
+ &lt;location col="1" row="1"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>targetNamespace&lt;/text>
+ &lt;location col="0" row="2"/>
+ &lt;/label>
+ &lt;attr name="targetNamespace" type="input">
+ &lt;tooltip
+>&URI; reference of the namespace of this schema.&lt;/tooltip>
+ &lt;whatsthis
+>&URI; reference of the namespace of this schema.&lt;/whatsthis>
+ &lt;location col="1" row="2"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>xmlns&lt;/text>
+ &lt;location col="0" row="3"/>
+ &lt;/label>
+ &lt;attr name="xmlns" type="input">
+ &lt;tooltip
+>&URI; reference for one or more namespaces for use in this schema.
+ If no prefix is used, then components of that namespace may be used unqualified.&lt;/tooltip>
+ &lt;whatsthis
+>&URI; reference for one or more namespaces for use in this schema.
+ If no prefix is used, then components of that namespace may be used unqualified.&lt;/whatsthis>
+ &lt;location col="1" row="3"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>attributeFormDefault&lt;/text>
+ &lt;location col="0" row="4"/>
+ &lt;/label>
+ &lt;attr name="attributeFormDefault" type="list">
+ &lt;items>
+ &lt;item
+>qualified&lt;/item>
+ &lt;item
+>unqualified&lt;/item>
+ &lt;/items>
+ &lt;tooltip
+>Default form for all attributes within this schema.&lt;/tooltip>
+ &lt;whatsthis
+>Default form for all attributes within this schema.&lt;/whatsthis>
+ &lt;location col="1" row="4"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>elementFormDefault&lt;/text>
+ &lt;location col="0" row="5"/>
+ &lt;/label>
+ &lt;attr name="elementFormDefault" type="list">
+ &lt;items>
+ &lt;item
+>qualified&lt;/item>
+ &lt;item
+>unqualified&lt;/item>
+ &lt;/items>
+ &lt;tooltip
+>Default form for all elements within this schema.&lt;/tooltip>
+ &lt;whatsthis
+>Default form for all elements within this schema.&lt;/whatsthis>
+ &lt;location col="1" row="5"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>blockDefault&lt;/text>
+ &lt;location col="0" row="6"/>
+ &lt;/label>
+ &lt;attr name="blockDefault" type="input">
+ &lt;location col="1" row="6"/>
+ &lt;/attr>
+
+ &lt;label>
+ &lt;text
+>finalDefault&lt;/text>
+ &lt;location col="0" row="7"/>
+ &lt;/label>
+ &lt;attr name="finalDefault" type="input">
+ &lt;location col="1" row="7"/>
+ &lt;/attr>
+ &lt;/tag>
+&lt;/TAGS>
+</markup
+>
+</literallayout>
+</informalexample>
+</sect4>
+
+<sect4 id="family-two-3-2">
+<title
+>Семья 2</title>
+
+<para
+>Ниже следует файл TagXML семьи 2. Он описывает &PHP;-функцию перегрузки (overload). Имя такого файла будет overload.tag. </para>
+
+<informalexample>
+<literallayout
+><markup>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;!DOCTYPE tags>
+&lt;tags>
+ &lt;tag name="overload" type="function" returnType="void">
+&lt;attr name="class_name" type="string" status="optional"/>
+ &lt;/tag>
+&lt;/tags>
+</markup
+>
+</literallayout>
+</informalexample>
+</sect4>
+</sect3>
+</sect2>
+
+<sect2 id="descriptionrc-3-2">
+<title
+>&descriptionrc;</title>
+
+<para
+>Файл &descriptionrc; также имеет простую структуру, для него есть редактор, который можно вызвать из <menuchoice
+><guimenu
+>DTD</guimenu
+><guimenuitem
+>Параметры DTD...</guimenuitem
+></menuchoice
+>. Чтобы изменить &descriptionrc; вновь созданного &DTEP;, создайте файл &descriptionrc; со следующими параметрами: </para>
+<para>
+ <informalexample>
+ <literallayout
+><markup>
+ [General]
+ Version = Пишите 1 для &quantaplus; версии &lt;=3.1.2 и 2 - для любой более поздней версии.
+ Name = Строка определения DTD. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
+ NickName = Красивое имя DTD. (HTML 4.01 Transitional). если не указано, будет использоваться Name.
+ </markup
+>
+ </literallayout>
+ </informalexample>
+</para>
+<para
+>После того, как вы создали такой файл и сохранили его в папку с файлами тегов, загрузите новый &DTEP; через <menuchoice
+><guimenu
+>DTD</guimenu
+><guimenuitem
+>Загрузить пакет DTD (DTEP)...</guimenuitem
+></menuchoice
+>, теперь вы можете продолжить правку &DTEP;. Воспользуйтесь контекстной справкой (всплывающими подсказки и "что это?") панели инструментов редактора, или прочтите файл<filename
+>quanta/data/dtep/dtd-description.txt</filename
+> из исходного архива, в котором подробно описан формат. </para>
+</sect2>
+</sect1>
+
+<sect1 id="user-actions">
+<title
+>Действия, определяемые пользователем</title>
+<para
+>В &quantaplus; можно настраивать и создавать свои действия, выполняемые при нажатии на кнопку панели инструментов, выборе пункта меню или нажатии комбинации клавиш. </para>
+<para
+>Существует три типа действий, определяемых пользователем: <itemizedlist>
+<listitem
+><para
+><link linkend="text-actions"
+>Операции с текстом</link
+></para
+></listitem>
+<listitem
+><para
+><link linkend="tag-actions"
+>Операции с тегами</link
+></para
+></listitem>
+<listitem
+><para
+><link linkend="script-actions"
+>Операции на основе сценариев</link
+></para
+></listitem>
+</itemizedlist>
+</para>
+<sect2 id="creating-actions">
+<title
+>Создание действий</title>
+<para
+>Создать действие можно с помощью пункт меню<menuchoice
+><guimenu
+>Настройка</guimenu
+><guimenuitem
+>Настроить действия</guimenuitem
+></menuchoice
+>: <mediaobject
+> <imageobject>
+<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+<variablelist>
+<varlistentry>
+<term
+><guilabel
+>Тип</guilabel
+></term>
+<listitem
+><para
+><link linkend="text-actions"
+>Текст</link
+>, <link linkend="tag-actions"
+>Тег</link
+> или <link linkend="script-actions"
+>Сценарий</link
+>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><guilabel
+>Текст</guilabel
+></term>
+<listitem
+><para
+>Имя действия, видимое пользователю.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+>Кнопка рядом с текстовой меткой</term>
+<listitem
+><para
+>Значок, присвоенный данному действию. Щёлкните на нём чтобы его изменить.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><guilabel
+>Всплывающая подсказка</guilabel
+></term>
+<listitem
+><para
+>Краткое описание действия.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><guilabel
+>Комбинация клавиш</guilabel
+></term>
+<listitem
+><para
+>Комбинация клавиш, присвоенная действию.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><guilabel
+>Панели инструментов</guilabel
+></term>
+<listitem
+><para
+>Панели инструментов, содержащие действие. Для подробностей см. <xref linkend="creating-toolbars-3-2"/>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+><guilabel
+>Расширенные настройки</guilabel
+></term>
+<listitem
+><para
+>Параметры, специфичные для каждого типа действий. См. далее </para
+></listitem>
+</varlistentry>
+</variablelist>
+</para>
+</sect2>
+<sect2 id="text-actions">
+<title
+>Операции с текстом</title>
+<para>
+<mediaobject
+><imageobject>
+<imagedata fileref="text-action.png" format="PNG"/>
+</imageobject
+></mediaobject
+> Самые простые действия. Вы можете ввести текст в области <guilabel
+>Расширенные настройки</guilabel
+>, который будет вставлен в документ при выполнении действия. </para>
+</sect2>
+<sect2 id="tag-actions">
+<title
+>Операции с тегами</title>
+<para
+>Используется для вставки XML-тегов в текст. <mediaobject
+><imageobject
+> <imagedata fileref="tag-actions.png" format="PNG"/> </imageobject
+></mediaobject
+> <variablelist
+> <varlistentry
+> <term
+><guilabel
+>&lt;tag&gt;</guilabel
+></term
+> <listitem
+><para
+>Имя тега.</para
+></listitem
+> </varlistentry
+> <varlistentry
+> <term
+><guilabel
+>&lt;/tag&gt;</guilabel
+></term
+> <listitem
+><para
+>Если флажок отмечен, нужен также закрывающий тег. Если при вызове действия в документе будет присутствовать выделенный текст, то начальный тег будет вставлен перед ним, а закрывающий - после.</para
+></listitem
+> </varlistentry
+> <varlistentry
+> <term
+><guilabel
+>Запустить диалог "Изменить тег", если он доступен</guilabel
+></term
+> <listitem
+><para
+>Если для данного тега будет найден файл tagXML с описанием его атрибутов, перед вставкой тега будет предложено ввести их в диалоговом окне.</para
+></listitem
+> </varlistentry
+> </variablelist
+> Символы &lt;, &gt; и / не будут автоматически добавлены и вы должны ввести их сами. </para>
+</sect2>
+<sect2 id="script-actions">
+<title
+>Операции на основе сценариев</title>
+<para>
+<mediaobject
+><imageobject>
+<imagedata fileref="script-action.png" format="PNG"/>
+</imageobject
+></mediaobject
+> Этот тип действий - самый мощный. С помощью него можно запускать внешние приложения (в основном это сценарии), которым будет передаваться документ или его часть. Примером такого типа служит стандартный диалог &quantaplus; <guibutton
+>Быстрый запуск</guibutton
+>, различные действия, связанные с (X)HTML. </para>
+<para
+>Сначала нужно ввести строку запуска сценария, например: <command
+>sh /home/myHome/myScript.sh</command
+>. </para>
+<para
+>Для указания пути рекомендуется использовать <command
+>%scriptdir</command
+> (например: <command
+>sh %scriptdir/myScript.sh</command
+>). Тогда сценарий будет искаться в нескольких папках, а именно: <itemizedlist
+> <listitem
+><para
+>глобальная папка сценариев: <filename
+><envar
+>$KDEDIR</envar
+>/share/apps/quanta/scripts</filename
+></para
+></listitem
+> <listitem
+><para
+>локальная папка сценариев: <filename
+><envar
+>$KDEHOME</envar
+>/share/apps/quanta/scripts</filename
+></para
+></listitem
+> <listitem
+><para
+>список путей пользователя: <envar
+>$PATH</envar
+></para
+></listitem
+></itemizedlist
+> Есть также другие переменные: <itemizedlist>
+<listitem
+><para
+><command
+>%f</command
+>: адрес текущего документа. Последовательность символов "file:/" будет удалена из имени файла.</para
+></listitem>
+<listitem
+><para
+><command
+>%input</command
+>: выделенный текст (см. далее).</para
+></listitem>
+<listitem
+><para
+><command
+>%projectbase</command
+>: адрес текущего проекта. Если нет открытых проектов, возвращает пустую строку.</para
+></listitem>
+<listitem
+><para
+><command
+>%pid</command
+>: PID процесса &quantaplus;. Если запущен один экземпляр &quantaplus; перед PID будет добавлено "unique ". Это может быть использовано для работы через DCOP.</para
+></listitem>
+<listitem
+><para
+><command
+>%userarguments</command
+>: используется при событиях. Будет заменено свойствами события в следующем порядке: <variablelist>
+<varlistentry>
+<term
+>Первый аргумент</term>
+<listitem
+><para
+>Дескриптор (id) сценария</para
+></listitem>
+</varlistentry>
+<varlistentry>
+<term
+>Второй аргумент</term>
+<listitem
+><para
+>имя события</para
+></listitem>
+</varlistentry>
+<varlistentry>
+<term
+>Третий аргумент</term>
+<listitem
+><para
+>параметры события, обычно имя текущего файла, или путь к файлу проекта.</para
+></listitem>
+</varlistentry>
+</variablelist>
+ </para
+></listitem>
+</itemizedlist>
+</para>
+<para
+>Также сценарий может получить исходные данные напрямую от &quantaplus; через стандартный вход. В выпадающем списке <guilabel
+>Ввод</guilabel
+> вы можете выбрать данные, которые будут посылаться: <itemizedlist>
+<listitem
+><para
+><guilabel
+>Ничего</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Текущий документ</guilabel
+>: весь документ.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Выделенный текст</guilabel
+>. Только когда выбран этот вариант, <command
+>%input</command
+> имеет смысл.</para
+></listitem>
+</itemizedlist>
+</para>
+<para
+>Аналогично, можно получить вывод сценария через конфейеры. Существует два типа вывода: <itemizedlist
+> <listitem
+><para
+>обычный (stdout);</para
+> </listitem
+> <listitem
+><para
+>ошибки (stderr).</para
+> </listitem
+> </itemizedlist
+>Вы можете выбрать, что делать с выводом, возможные варианты: <itemizedlist>
+<listitem
+><para
+><guilabel
+>Ничего</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Вставить в позицию курсора</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Заменить выделение</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Заменить выделение</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Создать новый документ</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Заменить текущий документ</guilabel
+>.</para
+></listitem>
+<listitem
+><para
+><guilabel
+>Окно сообщений</guilabel
+>: вывод сценарий будет помещён на служебную вкладку <guilabel
+>Сообщения</guilabel
+>.</para
+></listitem>
+</itemizedlist>
+</para>
+<para
+>Варианты для вывода сообщений об ошибках такие же.</para>
+</sect2>
+</sect1>
+
+<sect1 id="creating-toolbars-3-2">
+<title
+>Создание панелей инструментов</title>
+
+<para
+>Ниже следует описание создания панелей инструментов для &DTEP;. По сути, это - графические элементы, отвечающие определённому действию. Последнее - основа почти всех расширений, которые есть или будут появляться в будущем в &quantaplus;. Схема определения действия в &quantaplus; также годится для автозавершения и диалогов свойств тегов. </para>
+
+<sect2 id="from-scratch-to-complete-3-2">
+<title
+>С нуля до совершенства</title>
+
+<para
+>Начнём с создания пользовательской панели инструментов: <menuchoice
+><guimenu
+>Панели инструментов</guimenu
+><guimenuitem
+>Добавить пользовательскую панель инструментов</guimenuitem
+></menuchoice
+>. </para>
+
+<para
+>Если в языке разметки много тегов, лучше разделить их по группам. Для каждой группы создайте отдельную панель инструментов. В нашем случае тегов не много, поэтому обойдёмся одной. </para>
+
+<para
+>Далее следует добавить и настроить действия - <menuchoice
+><guimenu
+>Настройка</guimenu
+><guimenuitem
+>Настроить действия...</guimenuitem
+></menuchoice
+>. </para>
+
+<para
+>Нажмите кнопку <guibutton
+>Создать</guibutton
+> (внизу окна). </para>
+
+<para
+>Заполните все необходимые поля и добавьте тег в соответствующую панель инструментов. </para>
+
+<para
+>Если у тега есть атрибуты (и вы будете часто их использовать), отметьте <guilabel
+>Запустить диалог "Изменить тег", если он доступен</guilabel
+>, и каждый раз при использовании данного действия, будет предложено заполнить свойства добавляемого тега. </para>
+
+<para
+>Теперь у вас должно быть что-то вроде этого. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Нажмите кнопку <guibutton
+>Применить</guibutton
+>. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img8.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Но что же получилось?! Как вы запомните, какой значок к какому действию относится? Давайте заменим его на свой (покрасивее). </para>
+
+<para
+>Для создания значка можно использовать &kiconedit;. Запустите её из &kmenu;, <menuchoice
+> <guisubmenu
+>Графика</guisubmenu
+><guisubmenu
+>Дополнительные приложения</guisubmenu
+></menuchoice
+>) </para>
+
+<para
+>&kiconedit; создаёт значки с расширением 32x32, однако нам нужно 22x22 - <menuchoice
+> <guimenu
+>Правка</guimenu
+> <guimenuitem
+>Изменить размер</guimenuitem
+> </menuchoice
+>. </para>
+
+<para
+>Помните, что вы создаёте значок, который поможет вспомнить вам (и не только вам) действие, которому он отвечает, а не просто красивую картинку. </para>
+
+<para
+>В нашем случае создаётся значок для тега &lt;start
+>,поэтому для него будет использоваться зелёный цвет. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img15.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Сохраним значок. </para>
+
+<para
+>После создания значка нужно ассоциировать его с действием. Откройте окно <emphasis
+>Настроить действия</emphasis
+> и выберите нужное действие. Слева от поля <emphasis
+>Текст</emphasis
+> есть кнопка - нажмите её. </para>
+
+<para
+>Выберите <guilabel
+>Прочие пиктограммы</guilabel
+> и нажмите кнопку <guibutton
+>Обзор</guibutton
+>. </para>
+
+<para
+>Перейдите в папку, в которой вы сохранили значок, выберите его и нажмите <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>Нажмите кнопку <guibutton
+>Применить</guibutton
+>
+> или <guibutton
+>OK</guibutton
+>. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img18.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Чтобы добавить какие-то общие для &quantaplus; функции на панель инструментов, или разделители кнопок, в окне <guilabel
+>Настроить панели инструментов</guilabel
+> выделите нужную панель инструментов и выберите в списке слева действие (или разделитель). </para>
+
+
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img21.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Например, можно добавить <guilabel
+>Просмотр в Konqueror</guilabel
+>. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img22.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Обратите внимание на то, что разделитель способствует группированию. Один человек подумал, что кнопка &konqueror;, стоящая рядом с зелёной кнопкой "Старт", имеет противоположное значение ("Стоп"). </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img23.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>После внесения изменений, нажмите кнопку <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>Посмотрите на новую панель инструментов! Фантастика! </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img24.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>Не забудьте протестировать вашу новую панель инструментов нажатием всех расположенных на ней кнопок. </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="dtep_doc_img25.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+><menuchoice
+><guimenu
+>Панели инструментов</guimenu
+> <guisubmenu
+>Сохранить</guisubmenu
+><guimenuitem
+> Сохранить как локальную панель инструментов</guimenuitem
+></menuchoice
+>. </para>
+
+<para
+>Сохраните её в правильной папке. Убедитесь, что вы заполнили &descriptionrc; так, чтобы при открытии документа данного типа, загружались соответствующие панели инструментов. </para>
+</sect2>
+</sect1>
+
+
+<sect1 id="creating-quanta-docs-3-2">
+<sect1info>
+<title
+>Написание документации</title>
+<authorgroup>
+<author
+><firstname
+>Robert</firstname
+> <surname
+>Nickel</surname
+> <affiliation
+> <address
+><email
+>robert@artnickel.com</email
+></address>
+</affiliation>
+</author>
+
+<othercredit role="translator"
+><firstname
+>Николай</firstname
+><surname
+>Шафоростов</surname
+><affiliation
+><address
+><email
+>shafff@ukr.net</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+>
+
+</authorgroup>
+</sect1info>
+
+<title
+>Написание документации</title>
+
+<para
+>Самое заметное, что может сделать рядовой пользователь - дополнение документации по разметочному или скриптовому языку, который ему нравится. Далее описывается, как было создано дерево документации &PHP;. </para>
+
+<para
+>Перед началом написания проверьте <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
+>репозиторий &quantaplus;</ulink
+>. </para>
+
+<para
+>Первый шаг - получение существующей документации. Второй - создание файла <filename
+>docrc</filename
+>. </para>
+
+<para
+>Общая форма docrc: </para>
+
+<informalexample>
+<literallayout
+>#KDE Config File
+[Tree]
+Doc dir=<replaceable
+>путь (относительно к этому файлу) к файлам html</replaceable
+> &eg; php42/
+#top level elements
+Top Element=<replaceable
+>Описание документации</replaceable
+> &eg; &PHP; 4.2 documentation
+
+Section 1=Section1.html
+Section 2=#Sec2.1,#Sec2.2,#Sec2.3
+Sec2.1=Sec2.1.html
+Sec2.2=Sec2.2.html
+Sec2.3=Sec2.3.html
+...
+
+[Context]
+ContextList=func1,func2,tag1,tag2,tag3
+func1=func1.html
+func2=func2.html
+tag1=tag1.html
+tag2=tag2.html
+tag3=tag3.html
+</literallayout>
+</informalexample>
+
+<para
+>Файл <filename
+>docrc</filename
+> разделён на две секции - Tree и Context. </para>
+
+<para
+>Секция Tree определяет размещение вашей документации в структуре (слева в главном окне). Например: </para>
+
+<mediaobject>
+<imageobject>
+<imagedata fileref="doc-view1.png" format="PNG"/>
+</imageobject>
+</mediaobject>
+
+<para
+>В соответствии со структурой, описанной выше, <filename
+>docrc</filename
+> для &PHP; выглядит так: </para>
+
+<informalexample>
+<literallayout
+>#KDE Config File
+
+[Tree]
+
+Doc dir=php42/
+
+#top level elements
+Top Element=PHP 4.2 documentation
+
+PHP 4.2 documentation=Table of Contents,#Getting Started,#Language Reference
+
+Table of Contents=index.html
+
+Getting Started=Introduction, ...
+Introduction=introduction.html
+...
+
+Language Reference=Basic syntax, ...
+Basic syntax=language.basic-syntax.html
+...
+
+</literallayout>
+</informalexample>
+
+<para
+>Обратите внимание на наличие <literal
+>#</literal
+> перед <quote
+>Getting Started</quote
+> и <quote
+>Language Reference</quote
+>. Это говорит о том, что они содержат подэлементы. </para>
+
+<para
+>Table of Contents ссылается напрямую на файл (и следовательно отображается внизу структуры, папки показываются первыми). </para>
+
+<important>
+<para
+>Пробелы не влияют ни на что, но следите за символами &amp; и &lt;. Во всех файлах, основанных на &XML;, их лучше заменить на &amp;amp; и &amp;lt; соответственно. </para>
+</important>
+
+<para
+>Секция Context используется контекстно зависимой справки. Например, вы пишите скрипт &PHP; и вам нужно просмотреть документацию по функции <function
+>mysql_fetch_array</function
+>. Для этого вам нужно будет выделить её название и нажать <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+> </keycombo
+>. При этом отобразится сразу информация по этой функции. </para>
+
+<variablelist>
+<varlistentry>
+<term
+>ContextList</term>
+<listitem>
+<para
+>Разделённый запятыми список контекстных пунктов, по которым будет доступна контекстная справка (для &PHP; - это его функции). </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term
+>Ссылки на файлы контекстной справки</term>
+<listitem>
+<para
+>Формат: "контекстный пункт=страница html". Например: acos=function.acos.html </para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+<para
+>Готовая версия <filename
+>docrc</filename
+>: </para>
+
+<informalexample>
+<literallayout
+>#Keywords for context help
+[Context]
+ContextList=abs,acos,acosh,addcslashes,addslashes,...
+
+abs=function.abs.html
+acos=function.acos.html
+acosh=function.acosh.html
+addcslashes=function.addcslashes.html
+addslashes=function.addslashes.html
+...
+</literallayout>
+</informalexample>
+
+<para
+>Теперь сохраните ваш файл <filename
+>docrc</filename
+> в папке <filename class="directory"
+>$<envar
+>HOME</envar
+>/.kde/share/apps/quanta/doc</filename
+> или <filename class="directory"
+>$<envar
+>KDEDIR</envar
+>/share/apps/quanta/doc</filename
+> для локального или глобального использования соответственно. Затем создайте папку (как указано в файле <filename
+>docrc</filename
+>) в той же папке с <filename
+>docrc</filename
+> и скопируйте в неё страницы &HTML;. </para>
+
+<para
+>Перезапустите &quantaplus; чтобы увидеть добавленную документацию. </para>
+
+<para
+>После того, как вы убедитесь, что она годится для того, чтобы ею поделиться с другими пользователями, отправьте её с файлом <filename
+>docrc</filename
+> в <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
+>репозиторий &quantaplus;</ulink
+>. Вы не станете богатым, но вы сможете гордиться тем, что содействовали разработке самого лучшего инструмента веб-разработки в мире. </para>
+
+</sect1>
+
+<sect1 id="sharing-resources">
+ <title
+>Публикация ресурсов</title>
+ <para
+>С &quantaplus; вы не будете жадным одиночкой, с её помощью можно делиться разными расширениями (пакетами DTEP, панелями инструментов с действиями, сценариями, шаблонами) друг с другом. Есть два способа этого: </para>
+ <variablelist>
+ <varlistentry>
+ <term
+>Отправка по Email</term>
+ <listitem
+><para
+>Расширения (называемые также ресурсами) можно посылать по электронной почте. Для этого в нескольких (в т.ч. контекстных) меню есть пункт <guilabel
+>Отправить по E-Mail...</guilabel
+>. </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+>Публикация на главном сервере</term>
+ <listitem
+><para
+>Если вы хотите поделиться своими расширениями со всеми, опубликуйте их в центральном хранилище. Присланные ресурсы проверяются и действительно публикуются только если они могут быть полезны другим. Для публикации, ресурс нужно подписать ключом GPG/PGP.</para>
+ <para
+>О том, как загружать расширения с центрального хранилища, обратитесь к разделу <xref linkend="download-resources"/>.</para>
+ <para
+>Во время передачи вам нужно будет ввести пароль к своему ключу GPG (он не будет сохранён), выбрав его перед этим. В диалоге <guilabel
+>Опубликовать</guilabel
+> заполните все поля (<guilabel
+>URL для просмотра</guilabel
+> можно оставить пустым) и нажмите <guilabel
+>OK</guilabel
+>.</para>
+ <para
+>Данный диалог можно открыть из <menuchoice
+><guimenu
+>DTD</guimenu
+><guimenuitem
+>Передать пакет DTD (DTEP)...</guimenuitem
+></menuchoice
+>, <menuchoice
+><guimenu
+>Панели инструментов</guimenu
+><guimenuitem
+>Передать панель инструментов...</guimenuitem
+></menuchoice
+>, контекстных меню файлов и папок в деревьях <guilabel
+>шаблонов</guilabel
+> и <guilabel
+>сценариев</guilabel
+>. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="download-resources">
+<title
+>Загрузка расширений</title>
+<para
+>На сайте &quantaplus; есть специальный раздел, в котором хранятся расширения, не вошедшие в основной дистрибутив из-за большого размера или редкого использования, или же они были опубликованы после выхода послежней версии программы. Такие ресурсы содержат в себе механизм автоматической установки. Чтобы получить к ним доступ, воспользуйтесь пунктом меню <guilabel
+>Загрузить</guilabel
+>, его можно найти в разных местах, например в <menuchoice
+><guimenu
+>DTD</guimenu
+><guimenuitem
+>Загрузить пакет DTD (DTEP)...</guimenuitem
+></menuchoice
+>, <menuchoice
+><guimenu
+>Панели инструментов</guimenu
+><guimenuitem
+>Загрузить панель инструментов...</guimenuitem
+></menuchoice
+>, в контекстных меню пустых областей или в корнях деревьев <guilabel
+>Шаблоны</guilabel
+>, <guilabel
+>Сценарии</guilabel
+> и <guilabel
+>Документация</guilabel
+>. </para>
+<para
+>Перед непосредственной установкой расширения, &quantaplus; проверяет контрольную сумму и подпись. </para>
+<para>
+ <caution
+><para
+>Устанавливайте расширения, особенно панели инструментов и сценарии, только из проверенных источников!</para
+></caution>
+</para>
+</sect1>
+
+<sect1 id="converting-dtd">
+ <title
+>Получение &DTEP; из DTD</title>
+ <para
+>Добавление поддержки языков разметки, основанных на XML, автоматизировано, и пакет DTEP создаётся на основе DTD. </para>
+ <para
+><menuchoice
+><guimenu
+>DTD</guimenu
+><guimenuitem
+>Загрузить и конвертировать DTD...</guimenuitem
+></menuchoice
+>, выберите файл <filename
+>.dtd</filename
+>, содержащий определение DTD, после чего вы увидите следующее окно: <mediaobject
+> <imageobject>
+ <imagedata fileref="dtd-conversion.png" format="PNG"/>
+ </imageobject>
+ </mediaobject
+>
+ </para>
+<para
+>Доступные поля:</para>
+<itemizedlist>
+ <listitem
+><para
+><guilabel
+>Конечная папка:</guilabel
+> папка, в которую будут записаны данные создаваемого &DTEP;, будет расположена в <filename
+><envar
+>$KDEHOME</envar
+>/share/apps/quanta/dtep</filename
+>. </para>
+ </listitem>
+ <listitem
+><para
+><guilabel
+>Имя:</guilabel
+> строка определения DTD</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>Отображаемое имя:</guilabel
+> имя, видимое пользователю.</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>Строка описания !DOCTYPE:</guilabel
+> строка, которая должна присутствовать в теге !DOCTYPE, например HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>DTD URL:</guilabel
+> Адрес файла DTD</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>Расширение по умолчанию:</guilabel
+> расширение, которое обычно имеют файлы с данным DTD</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>Теги и атрибуты с учётом регистра:</guilabel
+> обычно включено для языков, основанных на XML</para
+></listitem>
+ <listitem
+><para
+><guilabel
+>Настроить DTEP после преобразования:</guilabel
+> запустить редактор &descriptionrc; после завершения преобразования, чтобы вы могли проверить/настроить созданный &DTEP;.</para
+></listitem>
+</itemizedlist>
+
+</sect1>
+</chapter>