文書のある一定のセクションを特定のコンテキスト内でのみ表示する場合には、フィルタリング・マークアップを使用して、文書のセクションを表示するために満たす必要のある基準を指定することができます。基準が満たされない場合、文書のそのセクションはユーザーに表示されません。マークアップが処理の後にまだ有効である限り、いずれの XML 要素でもフィルターを指定できます。要素がフィルタリングされると、その要素下に含まれるすべての要素およびテキストもフィルタリングされます。
以下の表に、すべての filter プロパティーと可能な値の完全なリストを示します。
| プロパティー | 意味 | 使用可能な値 |
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 製品 ID |
任意の製品 ID (例えば、SDK の場合は org.eclipse.sdk.ide)
|
plugin
|
プラグインの存在 |
任意のプラグイン ID (例えば、org.eclipse.help)
|
category
|
アクティビティーのカテゴリー |
任意のアクティビティー・カテゴリー ID (例えば、「チーム」カテゴリーの場合、
org.eclipse.categories.teamCategory)
|
activity
|
アクティビティー (機能) |
任意のアクティビティー ID (例えば、CVS サポート・アクティビティーの場合、
org.eclipse.team.cvs)
|
名前が定義済みのいずれのプロパティーにも一致しない場合、ヘルプ・システムはその名前の JVM のシステム・プロパティーを使用します。例えば、起動時に任意のユーザー定義のプロパティー (-Dlocation=paris,france など) を渡して、そのプロパティーによってフィルター処理を行うことができます。
要素におけるフィルターを指定するには、属性を使用する方法と要素を使用する方法の 2 つの方法があります。
最初の形式は、要素に filter 属性を追加する形式です。一般的な形式は次のとおりです。
<element filter="[name][operator][value]">
テキスト
</element>
name は、フィルター操作に使用するプロパティーの名前です。例えば、オペレーティング・システムの場合は os になります。
operator は、一致 (完全一致、大/小文字を区別) を示す =、または 不一致 を示す != のどちらかです。
value は、プロパティーが一致する (または、一致しない) 対象を示します。例えば、os の場合、可能な値の 1 つとして win32 (Windows) があります。
filter プロパティーとそれらの値の完全なリストを以下の表に示します。
以下の例は、Linux で稼働する場合にのみ XHTML 文書のテキストのパラグラフを表示する方法を示しています。
<p filter="os=linux">
このメッセージは Linux で表示されている場合にのみ表示されます。
</p>
この 2 番目の例では、プラグイン com.my.plugin がインストールされていない場合にのみ、リンクが表示されます。
<a href="..." filter="plugin!=com.my.plugin">
ここをクリックして、プラグイン com.my.plugin をダウンロードします。
</a>
2 番目の形式は、フィルタリングする要素の子 として filter 要素を使用する形式です。この形式は、属性の形式よりわずかに長いのですが、1 つの要素についてフィルターをいくつでも指定できるので、属性の形式より強力です。一般的な形式は次のとおりです。
<element attribute="value">
<filter name="[name]" value="[modifier][value]"/>
</element>
name および value は、属性の場合と同じです。ただし、分離されているため、別の方法で、一致するべきかどうかを指定する必要があります。
modifier を指定しない場合には、デフォルトで、一致が想定されます。一致するべきでない 場合は、modifier を "!" に設定します。
以下は、上記の最初の例を 2 番目の形式で示したものです。
<p>
<filter name="os" value="linux"/>
このメッセージは Linux で表示されている場合にのみ表示されます。
</p>
次に 2 番目の例を示します。
<a href="...">
<filter name="plugin" value="!com.my.plugin"/>
ここをクリックして、プラグイン com.my.plugin をダウンロードします。
</a>
InfoCenter モードでヘルプを実行しているときに、フィルタリング・サポートがオフになると、フィルタリングされているコンテンツを含むすべてのコンテンツが表示されます。ドキュメンテーションをワークベンチ・モードと InfoCenter モードの両方でホストする場合は、フィルタリングをオフにしていても意味がある方法でフィルターを使用する必要があります。
以下のタイプの文書でフィルターを使用できます。
* 注: ユーザーの XHTML 文書で動的コンテンツを使用可能にするためには、いくつかの追加ステップが必要になります。
どのような場合でも、要素を除去することによって XML が無効 になる場合には、その要素にフィルターを設定してはなりません。例えば、XHTML の html 要素が無いと有効な XHTML ではなくなるので、XHTML の html 要素にフィルターを設定するべきではありません。