この章では、OHJおよびOHWで使用する、メタデータ・ファイル(ヘルプセット・ファイルとマップ・ファイル)について説明します。メタデータ・ファイルには、ヘルプ・システムの構造および操作に関する情報が含まれます。
この章の内容は次のとおりです。
メタデータ・ファイルは、ヘルプセット・ファイルとマップ・ファイルの2つのタイプにカテゴリ分けできます。どちらのファイルも、XMLファイルです。
ヘルプセット・ファイルは、拡張子.hs
のXMLファイルで、ヘルプセットに関するプロジェクトレベルの情報で構成されています。たとえば、ヘルプセットに使用される他の制御ファイル(マップ、目次、索引、関連リンクおよび検索など)を指し示します。これらの参照は、Oracle Helpがユーザー・インタフェースの構築に使用するナビゲーション・ビューのセットの定義に一部使用されます。
ヘルプセット・ファイルは、次の要素とその子要素で構成されています。
ヘルプセット・ファイルのコンテンツ全体は、単一の<helpset>
要素内に含まれます。つまり、ヘルプセット・ファイルは<helpset>
で開始し、</helpset>
で終了する必要があります。ヘルプセット・ファイルで許可される<helpset>
要素は1つのみです。
<title>
要素は、ヘルプセットに名前を割り当てます。次に例を示します。
<title>API Reference</title>
特定の条件下では、このタイトルは、ヘルプセットの名前としてOracle Helpユーザー・インタフェースに表示されます。たとえば、ヘルプセットを連結するのではなく、マージされたヘルプセットのリストを表示するようにOracle Helpを実装した場合、ヘルプセットのドロップダウン・リストにタイトルが表示されます。
<maps>
要素は1つ以上のマップ・ファイルを指し示します。これらのファイルは、トピックIDとトピック・ファイルのマッピングに使用されます。<maps>
要素には、次の子要素があります。
表5-1 <maps>の子要素
要素 | 説明 |
---|---|
|
このブックのマップ・ファイルの場所。複数のマップ・ファイルが指定されている場合、これらのファイルはマージされます。各
|
|
一部の状況でヘルプセットのデフォルト・トピックとして使用されるトピックのID(マップ・ファイルで定義されています)。つまり、OHJの起動時にトピックが指定されていない場合、デフォルトでこのトピックが表示されます。
|
次に例を示します。
<maps> <mapref location="main_map.xml"/> <mapref location="tutorial/tut_map.xml"/> </maps>
<wintype>
要素は、トピック(サイズ、画面の配置、テキストの色、背景色など)を表示する際にOHJで使用可能な1つ以上のウィンドウの特徴を定義します。OHJユーザー・インタフェースでのこの表示については、第2.2項「OHJのトピック・ウィンドウ」を参照してください。
注意: OHWでは、<wintype> 要素が認識されません。また、トピックがWebブラウザに直接表示される場合にもこの情報は無視されます。 |
ヘルプセット・ファイルには、任意の数(ウィンドウ・タイプごとに1つ)の<wintype>
セクションを含めることができます。<wintype>
タグの有効な属性は、次のとおりです。
default
: true
の場合、現在のウィンドウ・タイプが、トピック・ファイルでウィンドウ・タイプが指定されていないときに使用されるデフォルトのウィンドウ・タイプになります。false
の場合、現在のウィンドウ・タイプはデフォルトではないため、マップ・ファイルに明示的にリストしていない場合は使用されません。デフォルトの属性がない場合、この値はfalse
とみなされます。
<wintype>
要素の子要素は、次のとおりです。
表5-2 <wintype>の子要素
要素 | 説明 |
---|---|
|
このウィンドウ・タイプの名前。この名前は、トピックをウィンドウ・タイプに関連付ける場合に使用されます。ヘルプセットに複数のウィンドウが定義されている場合は、各ウィンドウが一意の名前を持っている必要があります。 |
|
ウィンドウの高さ。数値はピクセル単位の長さを示します。数値の後にパーセント記号(%)が続く場合は、表示される画面における割合を示します。 |
|
ウィンドウのピクセル単位の幅。数値はピクセル単位の長さを示します。数値の後にパーセント記号(%)が続く場合は、表示される画面における割合を示します。 |
|
ウィンドウの水平位置。数値はピクセル単位の長さを示します。負の値はウィンドウの右端から画面の右端までの距離を示します。数値の後にパーセント記号(%)が続く場合は、表示される画面における割合を示します。 |
|
ウィンドウのピクセル単位の垂直位置。数値はピクセル単位の長さを示します。負の値はウィンドウの下端から画面の最下部までの距離を示します。数値の後にパーセント記号(%)が続く場合は、表示される画面における割合を示します。 |
|
ウィンドウのテキストの前景色を示す6桁の16進数RGB値。値の前に#がある場合がありますが、無視されます。すべてのトピックについて、HTMLトピック・ファイルまたはCSSで指定されている前景色が、この値より優先されます。 |
|
ウィンドウのリンクの前景色を示す6桁の16進数RGB値。値の前に#がある場合がありますが、無視されます。すべてのトピックについて、HTMLトピック・ファイルまたはCSSで指定されているリンクの色が、この値より優先されます。 |
|
ウィンドウの背景色を示す6桁の16進数RGB値。値の前に#がある場合がありますが、無視されます。すべてのトピックについて、HTMLトピック・ファイルまたはCSSで指定されている背景色が、この値より優先されます。 |
|
ウィンドウのタイトル・バーに表示されるテキスト。 |
|
ウィンドウのツールバーに表示されるボタンを定義します。次のいずれか1つ以上の合計である5桁の16進数値。
値の前に#がある場合がありますが、無視されます。 |
HTMLトピック・コンテンツ・ファイルで指定される属性は、常に、ヘルプセットの<wintype>
セクションで指定される属性よりも優先されます。
次の<wintype>
要素は、チュートリアル・トピックに使用されるウィンドウを定義しています。
<wintype default=false> <name>Tutorial</name> <height>50%</height> <width>200</width> <x>10</x> <y>10</y> <textfg>000000</textfg> <linkfg>0000cc</linkfg> <bg>ffffff</bg> <title>Tutorial</title> <toolbar>06004</toolbar> </wintype>
この例の定義内容は、次のとおりです。
ウィンドウ・タイプの名前は、Tutorialです。このウィンドウは、デフォルトの高さが画面の高さの50%で、デフォルトの幅が200ピクセルです。
ウィンドウは、画面の上部と左側から10ピクセルずつ離れたところに表示されます。
ウィンドウの背景色は白、テキスト色は黒、リンクの色は青で表示されます。
ウィンドウのタイトル・バーには、Tutorialと表示されます。
ウィンドウのツールバーには、「印刷」ボタン、「戻る」ボタンおよび「進む」ボタンが表示されます。
<links>
要素は、複数のターゲットをリンクIDに関連付けるために使用されるリンク・ファイルを1つ以上ポイントします。リンク・ファイルの詳細は、第6.6項「リンク・ファイル」を参照してください。
<links>
要素の子要素は、次のとおりです。
表5-3 <links>の子要素
要素 | 説明 |
---|---|
< |
このブックのマップ・ファイルの場所。複数のマップ・ファイルが指定されている場合、これらのファイルはマージされます。各
|
次に例を示します。
<links> <linkref location="linkfile1.xml"/> <linkref location="linkfile2.xml"/> </links>
<view>
要素は、Oracle Helpでナビゲーション・ビューをレンダリングする方法を指定します。ナビゲーション・ビューとは、ナビゲーション制御ファイルのデータ(TOC、索引および検索など)に加えて、それらのファイルを検索するためのユーザー・インタフェース制御を表すものです。Oracle Helpには、標準タイプのビューをレンダリングするJavaクラスが含まれています。各タイプのビューは、その独自のアコーディオン・パネル(デフォルトでは「目次」、「索引」および「検索」パネル)で表示されます。
ヘルプセットには、各タイプのビューを複数含めることができます。つまり、ユーザー・インタフェースは、複数のTOCタブ、索引タブなどを表示できます。Oracle Helpでは、同じタイプのビューをマージすることもできます。これを行うには、同じラベルで同じタイプのビューをすべてマージします。タイプとラベルが同じビューは次のようにマージされます。
TOCビューはまとめて追加されます。
索引ビューは、ソート順にマージされます。
索引ビューは、順不同でマージされます。すべての検索結果がユーザー・インタフェースでソートされるため、順序は関係ありません。
<view>
要素の子要素は、次のとおりです。
表5-4 <view>の子要素
要素 | 説明 |
---|---|
|
ユーザー・インタフェースのナビゲータ・タブに表示されるラベル。このラベルはオプションです。ラベルが指定されていない場合、Oracle Helpでは、該当するタブに「目次」、「索引」および「検索」が使用されます。
|
|
ビューのタイトル。タイトルは、ナビゲーション・ビューごとに異なる場所に表示されます。
titleタグの属性は、次のとおりです。
|
|
このビューのユーザー・インタフェースとして使用されるJavaクラスの名前。デフォルトの実装では、次のタイプが提供されます。 oracle.help.navigator.tocNavigator.TOCNavigator oracle.help.navigator.keywordNavigator.KeywordNavigator oracle.help.navigator.searchNavigator.SearchNavigator JavaHelpタイプを指定すると、Oracle HelpはJavaHelpタイプをOracle Helpタイプに適切にマッピングします。 |
|
このビューで使用されるデータのパス。つまり、関連するナビゲーション制御ファイル(目次ファイル、索引ファイルまたは検索ファイルなど)のパス。この要素のコンテンツは、ファイル名またはURLになります。
|
次の例では、TOCタブを2つ作成し、それぞれ「User's Guide」および「Reference」とラベル付けします。両方のタブで目次にXMLファイル形式が使用されます(<data>
要素で指定されます)が、<label>
要素の値が異なります。両方のタブのラベルが同じ場合、TOCファイルug_toc.xml
およびref_toc.xml
は1つのTOCに結合され、1つのタブとして表示されます。
<view> <label>User's Guide</label> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.XMLTOCEngine">ug_toc.xml</data> </view> <view> <label>Reference</label> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.XMLTOCEngine">ref_toc.xml</data> </view>
次のコード例では、異なるファイル形式(XMLとHHC)およびデータ・エンジンを使用する2つのビューから「目次」タブを1つのみ作成します。これは、ラベルとタイプが同であるためです。この機能の利点として、タブの表示方法を損なうことなく、古い形式を使用するヘルプ・システムを新しい形式を使用するヘルプ・システムにマージできる点をあげることができます。
<view> <label>Table of Contents</label> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.XMLTOCEngine">new_toc.xml</data> </view> <view> <label>Table of Contents</label> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.HHCEngine"old_toc.hhc</data> </view>
次に、目次、索引および検索のビューの例を1つずつ示します。ビューにはラベルがないため、Oracle Helpでは、デフォルトのラベル「目次」、「索引」および「検索」を使用して3つのタブが作成されます。各ビューには、値User's Guideが指定された<title>
要素が含まれます。この結果、次のように作成されます。
「目次」タブには、目次ファイルug_toc.xml
の項目が1つのトップレベル・ノード「User's Guide」の下に表示されます。
ユーザーが「索引」タブのキーワード・リストから項目を選択すると、関連トピックのリストが表示されます。このヘルプセットのすべてのトピックのソースとして「User's Guide」が表示されます。
ユーザーが「検索」タブで検索を実行すると、このヘルプセットのすべてのトピックのソースとして「User's Guide」が結果のリストに表示されます。
この機能は、複数のヘルプセットをマージする場合に役立ちます。また、目次のトップレベル・ノードの数を削減し、索引および検索を使用して見つかったトピックのソースを表示することによって、ユーザーは指向性を保つことができます。
<view> <title>User's Guide</title> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.XMLTOCEngine">ug_toc.xml</data> </view> <view> <title>User's Guide</title> <type>oracle.help.navigator.keywordNavigator.KeywordNavigator</type> <data engine="oracle.help.engine.XMLIndexEngine">ugindex.xml</data> </view> <view> <title>User's Guide</title> <type>oracle.help.navigator.searchNavigator.SearchNavigator</type> <data engine="oracle.help.engine.SearchEngine">search.idx</data> </view>
次の表に、各ビュー・タイプの有効なエンジン値を示します。
表5-5 ビュー・タイプ: oracle.help.navigator.tocNavigator.TOCNavigator
エンジン | 説明 |
---|---|
|
Oracle HelpのXML目次(JavaHelp TOCの拡張) |
|
Microsoft HTMLHelp 1.xの目次 |
|
旧バージョンのOHJの目次 |
<subhelpset>
要素を使用して、このヘルプセット・ファイルに定義されているヘルプセットとともに他のヘルプセットを含めます。結合されたサブヘルプセットのビューは、複数のビューが1つのヘルプセットにマージされるのと同じ方法でマージされます。つまり、同じ<type>
と<label>
を持つサブヘルプセット・ビューがマージされます。詳細は、第5.2.6項「<view>要素」を参照してください。
<subhelpset>
要素の属性は、次のとおりです。
location
: マージされるヘルプセットのURLを指定します。
class
: (オプション)その場所がサブヘルプセット・ファイルのベースの場所となるクラス。location属性のすべてのパス情報は、このベースの場所を基準とした相対パスとなっています。
Oracle Helpでは、サブヘルプセットは常に存在しないことが前提になります。たとえば、製品スイートのマスター・ヘルプセットには、スイートの各製品(製品A、製品Bおよび製品C)のサブヘルプセットがあります。ユーザーは、製品Aのみを最初にインストールできます。後から、製品Cをインストールできます。この状況ではサブヘルプセットが役立ちます。サブヘルプセットは、見つかった場合はロードされ、見つからない場合は無視されるように指定できるためです。
次に、5つのビュー、2つの目次、2つのキーワード索引、1つのテキスト検索など、前述のセクションをすべて含むサンプル・ヘルプセットを示します。
<?xml version='1.0'?> <helpset version="1.1"> <maps> <mapref location="topics.xml"/> </maps> <wintype> <name>Tutorial</name> <height>50%</height> <width>200</width> <x>10</x> <y>10</y> <title>Tutorial</title> <toolbar>06004</toolbar> </wintype> <links> <linkref location="linkfile1.xml"/> <linkref location="linkfile2.xml"/> </links> <view> <label image="tocgif">Table of Contents</label> <title image="uggif">Forms User's Guide</title> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.XMLTOCEngine">ugcontents.xml</data> </view> <view> <label>Keyword Index</label> <type>oracle.help.navigator.keywordNavigator.KeywordNavigator</type> <data engine="oracle.help.engine.XMLIndexEngine">ugindex.xml</data> </view> <view> <label image="tocgif">Table of Contents</label> <title image="dggif">Forms Developer's Guide</title> <type>oracle.help.navigator.tocNavigator.TOCNavigator</type> <data engine="oracle.help.engine.HHCEngine" class="oracle.forms.documentation.dev"> dgcontents.hhc </data> </view> <view> <label>Keyword Index</label> <type>oracle.help.navigator.keywordNavigator.KeywordNavigator</type> <data engine="oracle.help.engine.HHKEngine" class="oracle.forms.documentation.dev"> dgindex.hhk</data> </view> <view> <label>Search</label> <title>Forms Documentation</title> <type>oracle.help.navigator.searchNavigator.SearchNavigator</type> <data engine="oracle.help.engine.SearchEngine" class="oracle.forms.documentation.dev"> search.idx</data> </view> <subhelpset location="prodsup.hs"/> <subhelpset location="advanced.hs"/> </helpset>
マップ・ファイルは、IDをファイルに関連付けるXMLファイルです。マップ・ファイルの主要な目的は、トピックIDを定義し、トピック・ファイルに関連付けることです。また、トピックID(トピック)をヘルプセット・ファイルの<wintype>
要素で定義されている任意のウィンドウ・タイプに関連付けることもできます。このIDは、目次ファイル、索引ファイルおよび状況依存コールのAPIで使用されます。
また、マップ・ファイルを使用して、イメージIDを定義し、イメージ・ファイルに関連付けることもできます。イメージIDを使用すると、タブ・ラベル(ヘルプセット・ファイルの<view>
要素で指定されています)の横にイメージを表示できます。また、目次ファイルの<tocitem>
要素で定義されている目次の項目の横にイメージを表示することもできます。
次の表に、マップ・ファイルで使用される要素を示します。
表5-8 マップ・ファイルの要素
要素 | 説明 |
---|---|
|
マッピングを定義します。 |
|
IDおよびその関連付け。
|
次の例では、topic_1
およびtopic_2
というマップIDにはウィンドウ・タイプが関連付けられていないため、ヘルプセットのデフォルトのウィンドウ・タイプが使用されます。マップID topic_3
およびtopic_4
は、intro
ウィンドウ・タイプで定義されているウィンドウに表示されるトピック・ファイルにマッピングされます。マップIDtopic_5.tsk
では、taskウィンドウ・タイプで定義されているウィンドウ内に、File_5.html
が表示されます。マップIDtopic_5.cncpt
では、別のウィンドウ・タイプ(concept
)に、同じトピック・ファイル(File_5.html
)が表示されます。URL
とwintype
の関連付けは、トピックIDではなくURLを使用してトピック間のリンクを作成する場合に使用します。たとえば、File_5.html
に対してハードコード化されたターゲットがトピックにある場合、リンクをクリックすると、task
ウィンドウ・タイプにHTMLコンテンツが表示されます。File_6.html
に対してハードコード化されたターゲットがトピックにある場合、リンクをクリックすると、ネイティブ・ブラウザ・ウィンドウにHTMLコンテンツが表示されます。
<?xml version='1.0' ?> <map version="1.0"> <mapID target="topic_1" url="file_1.html" /> <mapID target="topic_2" url="file_2.html#a1" /> <mapID target="topic_3" url="file_3.html" wintype="intro" /> <mapID target="topic_4" url="file_4.html#a2" wintype="intro" /> <mapID target="topic_5.tsk" url="file_5.html" wintype="task" /> <mapID target="topic_5.cncpt" url="file_5.html" wintype="concept" /> <mapID target="topic_6" url="file_6.html" wintype="external" /> </map>
このスキームによって作成者は、ウィンドウ・タイプをHTMLファイルに割り当てたり、代替のトピックIDへのリンクによってこれらの関連付けを上書きできます。たとえば、作成者は、トピック間リンク、TOCリンク、索引リンクおよびFile_5.html
へのハードコードされたリンクの場合はtopic_5.tsk
を使用し、チュートリアルからのリンクの場合はtopic_5.cncpt
を使用できます。この情報をマップ・ファイル内に保持することによって、このマップ・ファイルを、これらの割当てを管理するための集中リポジトリにすることができます。
url
属性で外部の場所(外部URL)を指定する場合、ターゲット・ファイルは新しいブラウザ・ウィンドウで開きます。たとえば、TOCリンクでtopic_ext
をトピックIDとして使用する場合、リンクは新しいブラウザ・ウィンドウでOTNページを開きます。
<mapID target="topic_ext" url="http://www.oracle.com/technetwork/index.html" />