相互参照

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  SPS ファイル: 高度な機能 > 目次、参照、ブックマーク >

相互参照

相互参照とはドキュメント内における別の箇所に対する参照のことです。SPS では相互参照のターゲットと、そのターゲットに対するリンクという2つのパーツにより相互参照が構築されます。ターゲットをセットするには、目次レベル内部に目次ブックマークを作成します。目次参照内にあるテキスト参照がターゲットへのリンクとなります。テキスト参照によりリンクとなるテキストの出力が生成されます。相互参照は以下にある3つのステップにより構築されることになります。

 

ステップ 1: レベル

レベル内部のデザイン構造のセクションに記されているように、ドキュメントは目次レベルにより分けられます。参照時には目次レベルにより参照のスコープが指定されます。指定されたスコープ内にて指定された名前を持っている目次ブックマークだけがターゲットとなります。以下のスクリーンショットでは、n1:Office 要素にてレベルが作成されています。

 

 

ステップ 2: 目次ブックマークの作成

目的の場所にカーソルを配置して、右クリックにて表示されるコンテキストメニューから「目次を挿入 | 目次ブックマーク」を選択することで、目次ブックマークがレベル内部に作成されます。目次ブックマークには XPath 条件式が与えられており、それにより出力テキストが生成されます。XPath 条件式により、通常ドキュメント内にあるノードが識別され、そのノードのコンテンツが目的のテキストとして使用されます。

 

以下にあるスクリーンショットでは、n1:Name 要素内にある目次ブックマーク TextRefDesignTOCBkmktoc3 という名前と、カレントノードを選択する XPath 条件式が与えられています。これにより、n1:Name ノードのコンテンツが出力テキストとして使用されます。

 

TextRefDesign

 

XML ドキュメントが処理されると、全ての n1:Name 要素に対してアンカーが作成されます。このアンカーでは、テキスト参照(相互参照のテキスト)に n1:Name 要素の値が使用されます。

 

ステップ 3: 目次参照の作成

目次ブックマークにより生成されたアンカーへのリンクを作成するために、(コンテキストメニューの「目次を挿入 | 目次参照」により)目次参照が挿入されます。

 

TextRefDesignTOCRef

 

上のスクリーンショットでは、toc3 という名前の目次参照が、参照先の目次ブックマークと同じ目次レベル(Office レベル)内に配置されています。ここでは目次参照のスコープも指定する必要があります。スコープにより、目次参照に対して与えられた名前と同名の目次ブックマークを検索する目次レベルが指定されることになります。上の例ではスコープに現在のレベルがセットされており、現在のレベルにある toc3 という名前の目次ブックマークだけが、参照のターゲットとなります。

 

上のスクリーンショットでは、n1:Office テンプレートが表示されています。n1:Office ノードが処理されると、n1:Name ノードのコンテンツを出力テキストとするアンカーが作成されます。これは、(目次ブックマークの使用されるテキストプロパティからアクセスすることのできる)目次ブックマークの XPath 条件式により、このノードのコンテンツが出力テキストと指定されているためです。次の行にある目次参照により toc3 という名前を持ったアンカーが識別され、テキスト参照コンポーネントによりリンクのテキストが生成されます(以下のスクリーンショットにて紫色で示されているテキスト)。出力は以下のようになります:

 

TextRefOutput

 

上に示された例では、現在のレベルにスコープがセットされています。スコープとして指定することのできるオプションは、この他にも (i) グローバルスコープと (ii) 現在と下位のレベルがあり、これらのオプションを使用することで、デザイン上のその他のレベルにある目次ブックマークをターゲットとすることもできます。

 

 

 


(C) 2019 Altova GmbH