トピック間のリンクを制御するための属性 topicref@collection-type, topicref@linking

DITAマップでトピック間の関係を定義することによって、トピック間にナビゲーション・リンクが張られます。このナビゲーション・リンクの生成を制御するには、topicref要素のcollection-type属性およびlinking属性を使用します。

トピックの集合タイプを指定する

親子関係あるいは兄弟関係にあるトピック群の集合タイプを指定するには、topicref要素のcollection-type属性を指定します。下表に示したとおり、collection-type属性に指定する値によって、親子関係あるいは兄弟関係にあるトピック間の、ナビゲーション・リンクの張られ方が変わります。

表 1. topicref要素のcollection-type属性に指定可能な値
collection-type属性の値 解説 ナビゲーション・リンク
unordered 子トピックの並び順に意味がないときに指定する。 親子関係にあるトピック間に、相互にナビゲーション・リンクが生成される。
sequence 子トピックの並び順に意味があるときに指定する。 親子関係にあるトピック間に、相互にリンクが生成される。兄弟関係にあるトピックには、前後トピックへのリンクが生成される。
choice 子トピックの中から、1つのトピックを選択して読むときに指定する。 親子関係にあるトピック間に、相互にリンクが生成される。
family 親子関係および兄弟関係にあるトピックが、密接に関係しているときに指定する。 親子関係および兄弟関係にあるすべてのトピック間に、相互にナビゲーション・リンクが生成される。

collection-type属性の指定を省略した場合は、unorderdを指定したのと等価になります。

ナビゲーション・リンクの張り方を制御する

マップ内のあるトピックに対して、ナビゲーション・リンクの張り方を指定するには、topicref要素のlinking属性を使います。ナビゲーション・リンクは、デフォルトではトピック間で双方向に生成されます。すなわち、トピックが親子関係にある場合、親から子へのナビゲーション・リンクと、子から親のナビゲーション・リンクが生成されます。linking属性を指定することにより、下表に示したとおり、ナビゲーション・リンクの生成を抑制する、あるいは、一方向だけナビゲーション・リンクを生成することができます。

表 2. topicref要素のlinking属性に指定可能な値
linking属性の値 ナビゲーション・リンク
none 対象トピックへのナビゲーション・リンクも、対象トピックからのナビゲーション・リンクも、どちらも生成されない。
sourceonly 対象トピックからのナビゲーション・リンクは生成されるが、対象トピックへのナビゲーション・リンクは生成されない。
targetonly 対象トピックへのナビゲーション・リンクは生成されるが、対象トピックからのナビゲーション・リンクは生成されない。
normal 相互にナビゲーション・リンクが生成される。

linking属性の指定を省略した場合は、祖先にあたるtopicref要素のlinking属性の値を継承します。祖先にあたるtopicref要素でもlinking属性を指定していない場合は、normalを指定したのと等価になります。