XML-формат файла содержимого введения

Версия 3.1.0

В этом документе описана структура файла введения как последовательности фрагментов DTD.

introContent


<!ELEMENT introContent (page+ , group* , extensionContent*)>

Элемент introContent определяет тело файла содержимого введения. Файл содержимого состоит из страниц, общих групп, которые могут входить в несколько страниц, и расширений для меток, заданных в других конфигурациях.



page


<!ELEMENT page (group* | link* | text* | head* | img* | include* | html* | hr* | title? | anchor* | contentProvider*)>

<!ATTLIST page

url          CDATA #IMPLIED

id           CDATA #REQUIRED

style        CDATA #IMPLIED

alt-style    CDATA #IMPLIED

filteredFrom (swt|html)
bgImage      CDATA #IMPLIED

content      CDATA #IMPLIED

style-id     CDATA #IMPLIED>

Этот элемент служит для описания отображаемой страницы. Введение может показывать как статические, так и динамические страницы.

Содержимое динамических страниц создается из субэлементов страницы, описанных ниже. Для оформления будет использован стиль или его вариант. Стили можно улучшить, ссылаясь на id или class-id.

Статические страницы позволяют повторно использовать существующие документы HTML в одном и том же введении. Ссылки на них можно указывать в любой статической или динамической странице. Статические страницы задаются не в элементе page, а просто включаются как ссылки в другие страницы.

ИД домашней страницы указывается в элементе presentation точки расширения конфигурации введения. В домашней странице может содержаться url, указывающий, что страница является статической. Если url не указан, то страница считается динамической. Все остальные страницы, описанные с помощью элемента page, являются динамическими.
Обратите внимание также на то, что, когда используется SWT-оформление и необходимо показать статическую страницу, запускается внешний браузер и текущая страница остается видимой.

В динамической странице применяются следующие вложенные элементы. group - служит для создания группы связанных данных и применения стиля ко всем данным группы. link - задает ссылку, которая может применяться для ссылки на статическую или динамическую страницу и выполнения действия или команды введения. Обычно ссылки задаются на уровне страницы для навигации по главным страницам. text - задает текстовое содержимое на уровне страницы. head - применяется только для Web-презентаций и позволяет включить дополнительный код html в раздел HTML head. Таким способом можно добавлять сценарии javascript или внешние таблицы стилей. img - задает данные изображений на странице. include - позволяет повторно использовать любые другие элементы, отличные от страницы. html - применяется только для Web-презентаций и позволяет включить дополнительный код html в данные страницы. Такое встраивание позволяет включить ссылку на внешний файл HTML, встроив ее в object HTML. Встраивать фрагменты html можно прямо из файла html. title - задает заголовок страницы. anchor - задает точку, к которой могут быть подключены внешние данные с помощью элемента <extensionContent>.


group


<!ELEMENT group (group* | link* | text* | img* | include* | html* | anchor*)>

<!ATTLIST group

id           CDATA #REQUIRED

label        CDATA #IMPLIED

style-id     CDATA #IMPLIED

computed     CDATA (true|false) "false"
bgImage      CDATA #IMPLIED

filteredFrom (swt|html) >

Используется для задания группы связанных данных, или данных, для которых следует применить единый стиль, или данных, которые следует включить как целое в другие страницы.


link


<!ELEMENT link (text? , img?)>

<!ATTLIST link

id           CDATA #IMPLIED

label        CDATA #IMPLIED

url          CDATA #REQUIRED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Ссылка на статический файл HTML, внешний Web-сайт; может служить также для выполнения действия URL введения.




Предопределенные действия описываются с помощью следующего формата:

имя действия - описание действия
параметр1 - описание параметра
параметр2 (необязательный) - описание параметра
параметр3 действия (необязательный) = ("true" | "false") "false" - описание параметра, выбор между true и false, значение по умолчанию - "false"


Инфраструктура введения поддерживает следующие заранее заданные действия:

close - закрывает компонент введения
нет параметров

execute - выполняет указанную команду. Сведения о формате сериализации команды приведены в информации о методе serialize() в org.eclipse.core.command.ParameterizedCommand. Начиная с 3.2.
command - сериализованная ParameterizedCommand
standby (необязательный) = ("true" | "false") "false" - указывает, следует ли переключить введение в режим ожидания после выполнения команды

navigate - переход по страницам введения или возврат на начальную страницу
direction = ("backward" | "forward" | "home") - задает направление перемещения

openBrowser - открыть URL во внешнем браузере. Начиная с версии 3.1 это действие выполняется с помощью поддержки браузера рабочей средой. Это значит, что будут учтены любые параметры пользователя в отношении поддержки браузера.
url - допустимый URL внешнего Web-сайта или статического файла HTML
pluginId (необязательный) - обязателен, только если указан статический файл HTML. Это идентификатор модуля, содержащего файл.

openURL - открывает URL во встроенном браузере, вместо начальной страницы. Если используется оформление SWT, то запускается внешний браузер (аналогично действию openBrowser выше). Начиная с 3.1.
url - допустимый URL внешнего web-сайта или локального файла HTML
pluginId (необязательный) - если URL относительный, то этот атрибут указывает id модуля, содержащего файл.

runAction - выполняет заданное действие
class - полное имя класса, реализующего одно из действий org.eclipse.ui.intro.config.IIntroAction, org.eclipse.jface.action.IAction или org.eclipse.ui.IActionDelegate
pluginId - ИД модуля, содержащего класс.
standby (необязательный) = ("true" | "false") "false" - указывает, следует ли переключить введение в режим ожидания после выполнения действия
дополнительные параметры - любые параметры, которые передаются действиям, реализующим org.eclipse.ui.intro.config.IIntroAction

setStandbyMode - задает состояние компонента введения
standby = ("true" | "false") - в случае true компонент введение переключается в режим ожидания и становится частично видимым, в случае false - становится полностью видимым

showHelp - открывает справку.
нет параметров

showHelpTopic - открывает раздел справки.
id - URL ресурса справки. (См. org.eclipse.ui.help.WorkbenchHelp.displayHelpResource в документации по Java)
embed (необязательный) = ("true" | "false") "true" - указывает, что ресурс справки должен выводиться во встроенном браузере как часть начальных страниц. Значение по умолчанию - false. Если используется оформление SWT, этот флаг игнорируется. Начиная с 3.1.
embedTarget (необязательный) - путь к блоку div текущей начальной страницы, в котором будут находиться данные раздела справки. Если указано, то значение embed по умолчанию равно true и встраиваемый URL будет вставлен в блок div с указанным путем. Путь должен указываться относительно страницы, так что он не может начинаться с ее идентификатора. Дочерние элементы блока div будут заменены содержимым URL. Для встраивания можно использовать только один div для каждой страницы. Если используется оформление SWT, этот флаг игнорируется. Кроме того, он не поддерживается, если содержимое начальной страницы имеет формат XHTML. Начиная с 3.1.


showMessage - показывает сообщение в стандартном окне диалога.
message - показываемое сообщение

showStandby - переводит компонент введения в режим ожидания и показывает standbyContentPart с заданным вводом
partId - ИД показываемого standbyContentPart
input - ввод для standbyContentPart

showPage - показать страницу введения с заданным ИД
id - ИД показываемой страницы введения
standby (необязательный) = ("true" | "false") "false" - указывает, следует ли переключить введение в режим ожидания после показа страницы

Если параметры, передаваемые в эти действия, содержат специальные символы (т.е. символы, недопустимые в URL), то их необходимо закодировать в кодировке UTF-8. Для раскодирования этих параметров предусмотрен особый параметр decode = ("true" "false") , который используется при обработке этих параметров структурой начальных страниц.
Например, URL начальной страницы
http://org.eclipse.ui.intro/showMessage?message=This+is+a+message
обработает параметр сообщения как "This+is+a+message",
тогда как
http://org.eclipse.ui.intro/showMessage?message=This+is+a+message&amp;decode=true
обработает параметр сообщения как "This is a message".


  • style-id - средство задать принадлежность этой ссылки к некоторой категории, чтобы можно было применить общий стиль.
  • filteredFrom - необязательный атрибут, позволяющий отфильтровать данный элемент в определенных реализациях. Например, если для группы задан filteredFrom = swt, то эта группа не будет включена в данные для реализации swt.
  • html


    <!ELEMENT html (img | text)>

    <!ATTLIST html

    id           CDATA #REQUIRED

    src          CDATA #REQUIRED

    type         (inline|embed)

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    encoding     CDATA #IMPLIED

    код HTML, который нужно встроить в страницу либо как весь документ, либо как фрагмент HTML. Для презентаций swt можно задать заменяющее изображение или текст. Если информационное наполнения содержит сегменты подстановки в форме $модуль:ИД_модуля$, то они будут заменены абсолютными путями к модулю с указанным ИД.
    Такое встраивание позволяет включить ссылку на внешний файл HTML, встроив ее в содержимое динамической страницы. Создается элемент HTML object, ссылающийся на файл html.
    Встраивать фрагменты html можно прямо из файла в динамическую страницу html.


    hr


    <!ELEMENT hr EMPTY>

    <!ATTLIST hr

    id           CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    горизонтальный разделитель.


    title


    <!ELEMENT title EMPTY>

    <!ATTLIST title

    id           CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    фрагмент кода, который может также содержать теги HTML. Он используется только в качестве заголовка страницы, так что страница может иметь не более одного элемента title.


    text


    <!ELEMENT text EMPTY>

    <!ATTLIST text

    id           CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    фрагмент кода, который может также содержать теги HTML. Он может включать теги b и li. Также может содержать метки для url. Если необходимо сделать несколько абзацев, то текст можно разбить на несколько разделов, каждый из которых начинается и оканчивается тегом p.


    include


    <!ELEMENT include EMPTY>

    <!ATTLIST include

    configId    CDATA #IMPLIED

    path        CDATA #REQUIRED

    merge-style (true | false) >

    расширяет элемент, указывая путь и необязательный атрибут configId. Путь должен явно задавать элемент в заданной конфигурации. Он может указывать на общую группу, заданную в конфигурации, или на любой элемент страницы.


    head


    <!ELEMENT head EMPTY>

    <!ATTLIST head

    src CDATA #REQUIRED>

    encoding     CDATA #IMPLIED

    Код HTML для включения в раздел HEAD. Позволяет включить дополнительный код html в раздел HTML HEAD. Это помогает добавлять сценарии Java и дополнительные таблицы стилей. Если информационное наполнения содержит сегменты подстановки в форме $модуль:ИД_модуля$, то они будут заменены абсолютными путями к модулю с указанным ИД. Этот код может использоваться только с реализациями компонента введения в виде HTML. Для реализаций в виде UI Forms он игнорируется. Элементов head в странице может быть несколько. В реализации элемент head должен быть только один (так как он используется для всех страниц).


    img


    <!ELEMENT img EMPTY>

    <!ATTLIST img

    id           CDATA #REQUIRED

    src          CDATA #REQUIRED

    alt          CDATA #IMPLIED

    style-id     CDATA #IMPLIED

    filteredFrom (swt|html) >

    Изображение, представляющее содержимое введения, а не презентацию (в отличие от изображений оформления, заданных в стилях).


    extensionContent


    <!ELEMENT extensionContent (text | group | link | html | include)>

    <!ATTLIST extensionContent

    style     CDATA #IMPLIED

    alt-style CDATA #IMPLIED
    id       CDATA #IMPLIED

    name     CDATA #IMPLIED

    path      CDATA #REQUIRED>

    Содержимое, добавляемое в целевой элемент anchor. В заданном configExtension разрешен только один extensionContent, поскольку если это расширение не удается преобразовать (не найдена конфигурация или элемент целевой метки привязки), то страницы и группы в этом расширении приходится игнорировать.


    anchor


    <!ELEMENT anchor EMPTY>

    <!ATTLIST anchor

    id CDATA #REQUIRED>

    anchor - элемент для объявления расширяемости. Это расположение в конфигурации, позволяющее добавлять внешние дополнения. Только элемент anchor может служить значением цели в атрибуте path для extensionContent


    contentProvider

     

    <!ELEMENT contentProvider (text)>

    <!ATTLIST contentProvider

    id       CDATA #REQUIRED

    pluginId CDATA #IMPLIED

    class    CDATA #REQUIRED>

     

    Сервер proxy для провайдера содержимого введения, позволяющий странице введения динамически извлекать данные из различных источников (например, Web, Eclipse и т.п.) и на их основе предоставлять содержимое во время выполнения. Если не удается загрузить класс IIntroContentProvider, указанный в атрибуте class, то будет обрабатываться содержимое элемента text. Это динамический вариант тега html введения. В то время как тег html позволяет встраивать или включать статическое содержимое html в создаваемую страницу введения html, тег contentProvider позволяет динамически создавать это содержимое во время выполнения. Другое различие между этими тегами заключается в том, что тег html поддерживается только в HTML-оформлении, а тег contentProvider - и в HTML-оформлении, и в SWT-оформлении. Начиная с 3.0.1