相互参照を書く <xref>

トピックの本文中にリンクを挿入するには、xref要素を使います。リンク先には、同一トピック内の任意の箇所、別のトピック、別のトピック内の任意の箇所、あるいは外部URLを指定できます。

通常の相互参照では、参照先のトピック・タイトル、セクション・タイトル、図表番号、あるいはリスト番号を参照元のリンク・テキストとして表示します。DITAの場合、参照元のリンク・テキストに任意の文字列を指定することもできます。

①参照先の図表番号をリンク・テキストにする例
<p><xref href="#desc_test/oasis_logo"/>に示したのは、OASISの公式のロゴです。</p>
②任意の文字列をリンク・テキストにする例
<p><xref href="#desc_test/oasis_logo">JPGの図</xref>に示したのは、OASISの公式のロゴです。</p>


重要: xref要素を使ってトピック間のリンクを指定するのは避けるべきです。xref要素を使ってトピック間のリンクを指定すると、トピック間に依存関係ができ、トピックの再利用性を低下させるためです。代わりに、マップに関連テーブル(reltable要素)を書くことにより、トピック間のリンクを指定することを推奨します。

リンク・ターゲットの情報を書く

相互参照のリンク先(リンク・ターゲット)に指定できるのは、同一トピック内の任意の箇所、別のトピック、別のトピック内の任意の箇所、あるいは外部リソースです。外部リソースはURLで指定します。リンク・ターゲットの情報は、link要素のformat属性、href属性、scope属性、およびtype属性を使って指定します。

format属性
format属性には、リンク・ターゲットの種類を指定します。
dita
リンク・ターゲットがDITAトピック
html
リンク・ターゲットがHTML
pdf
リンク・ターゲットがPDF
リンク・ターゲットが上記以外の場合は、ファイル名の拡張子を指定します。例えば、リンク・ターゲットがテキスト・ファイルの場合、txtを指定します。
href属性
リンク・ターゲットがDITAトピック内の要素なのか、外部リソースなのかによって、href属性の書き方が変わります。リンク・ターゲットがDITAトピック内の要素の場合は、DITA固有の表記法でhref属性を指定します。リンク・ターゲットが外部リソースの場合は、href属性に外部リソースのURLを指定します。
リンク・ターゲット href属性の値
DITAトピック 書式:
href="filename.dita#topicID/elementID"
  • リンク・ターゲットが同一トピック内の場合は、filename.ditaの指定を省略可
  • リンク・ターゲットがトピックの場合は、/elementIDの指定を省略可
外部リソース 記述例:
href="http://www.w3.org/International/articles/language-tags/"
scope属性
scope属性には、編集中のDITA文書とリンク・ターゲットの位置関係を指定します。
local
リンク・ターゲットが編集中のDITA文書の一部
peer
リンク・ターゲットが編集中のDITA文書の一部だが、パブリッシング処理の最中には参照できない
external
リンク・ターゲットが外部リソース
scope属性にexternalを指定することにより、リンク・テキストをクリックしたときに、外部リソースのコンテンツが、Webブラウザの新しいウィンドウに表示されるようになります。外部リソースのコンテンツを参照した後に、コンテクストを見失うことなく元のトピックに戻れるため、オンライン・マニュアルのユーザビリティが向上します。
type属性
type属性にはリンク・ターゲットの要素タイプを指定します。リンク・ターゲットが外部リソースの場合は、type属性を指定する必要はありません。type属性に指定できる値は以下のとおりです。
fig
リンク・ターゲットは図。リンク・テキストは図番号になる。
table
リンク・ターゲットは表。リンク・テキストは表番号になる。
li
リンク・ターゲットはリスト項目。リンク・テキストはリスト番号になる。
fn
リンク・ターゲットはフットノート。リンク・テキストはフットノート番号になる。
section
リンク・ターゲットはセクション。リンク・テキストはセクション・タイトルになる。
concept, task, reference, topic
リンク・ターゲットはトピック。リンク・テキストはトピック・タイトルになる。