Если некоторые разделы документа должны появляться только в определенном контексте, то можно использовать текст фильтрации для указания критерия, который должен выполняться для появления данного раздела документа. Если критерии не выполняются, то данный раздел документа будет невидимым для пользователя. Фильтры можно задать в любом элементе XML, поскольку текст на языке описания после выполнения будет по-прежнему действительным. Если элемент отфильтрован, то будут отфильтрованы также все элементы и текст, содержащиеся в этом элементе.
В приведенной ниже таблице содержится полный список всех свойств фильтров и их возможные значения.
Свойство | Значение | Допустимые значения |
os
|
операционная система |
win32, win32, linux, macosx, aix, solaris, hpux, qnx
|
ws
|
оконная система |
win32, motif, gtk, photon, carbon
|
arch
|
архитектура процессора |
x86, x86_64, ia64, ia64_32, ppc, PA_RISC, sparc
|
product
|
идентификатор продукта eclipse |
Любой идентификатор продукта (например, для SDK - org.eclipse.sdk.ide )
|
plugin
|
наличие модуля |
Любой идентификатор модуля (например, org.eclipse.help )
|
category
|
категория действий |
Любой идентификатор категории действий (например, для категории Team -
org.eclipse.categories.teamCategory )
|
activity
|
действие (возможность) |
Любой идентификатор действия (например, для действия поддержки CVS -
org.eclipse.team.cvs )
|
Если имя не соответствует никакому предопределенному свойству, то справочная система
будет использовать системное свойство JVM с этим именем. Например, при запуске можно
передать любое пользовательское свойство, например, -Dlocation=paris,france
,
и выполнять фильтрацию по этому свойству.
Существует два способа задания фильтра для элемента: использование атрибутов и элементов.
Первая форма применяется для добавления к элементу атрибута
filter
. Общая форма имеет вид:
<element filter="[name][operator][value]"> Текст. </element>
name
- это имя свойства, по которому
следует выполнить фильтрацию, например, os
для операционной системы.
operator
- это либо =
для
обозначения совпадения (точное совпадение, с учетом регистра), либо
!=
для обозначения отсутствие совпадения. value
указывает, чему должно соответствовать (или не соответствовать) это свойство.
Например, для os
одним из возможных значений является win32
(Windows).
В приведенной ниже таблице содержится полный список свойств фильтра и их значений.
В приведенном ниже примере показано отображение абзаца текста в документе XHTML только при работе с Linux.
<p filter="os=linux"> Это сообщение появится только при просмотре в Linux. </p>
Во втором примере ссылка будет отображаться только в том случае, если
модуль com.my.plugin
не установлен:
<a href="..." filter="plugin!=com.my.plugin"> Щелкните здесь, чтобы загрузить модуль com.my.plugin. </a>
Второй формой является применение элемента filter
в качестве
дочернего для элемента, который следует отфильтровать. Эта форма несколько длиннее
формы атрибута, однако предоставляет больше возможностей, поскольку позволяет задать для
элемента любое число фильтров. Общая форма имеет вид:
<element attribute="value">
<filter name="[name]" value="[modifier][value]"/>
</element>
name
и
value
имеют тот же смысл, что и для формы атрибута. Однако поскольку
они разделены, то требуется другой способ указать, должно ли выполняться соответствие.
По умолчанию, если не указан modifier
,
то предполагается совпадение. Если соответствие не требуется, задайте для
модификатора значение "!
"
Ниже приведен первый из описанных выше примеров во второй форме:
<p> <filter name="os" value="linux"/> Это сообщение появится только при просмотре в Linux. </p>
И второй пример:
<a href="..."> <filter name="plugin" value="!com.my.plugin"/> Щелкните здесь, чтобы загрузить модуль com.my.plugin. </a>
В режиме Infocenter поддержка фильтрации выключена, в результате чего выводится все содержимое, включая отфильтрованные данные. Если документация будет использоваться в режиме рабочей среды и в режиме Infocenter, настройте фильтры так, чтобы при отключенных фильтрах выводилось нужное содержимое.
Фильтрацию можно использовать в документах следующих типов:
* Примечание: Необходимо выполнить несколько дополнительных шагов для включения динамического содержимого в документах XHTML.
В любом случае нельзя помещать фильтры для элементов, удаление которых
приведет к недопустимому XML. Например, не следует размещать фильтр для
элемента html
в XHTML, поскольку без этого элемента XHTML является
недопустимым.