動的テーブル

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

ホーム >  SPS ファイル: コンテンツ > テーブル >

動的テーブル

以下の操作により動的テーブルを挿入することができます:

1.メニューコマンドからから「テーブル | テーブルを挿入」または「挿入 | テーブルを挿入」を選択するか、デザイン要素の挿入ツールバーにあるテーブルの挿入 ic_tbl_insert_table アイコンをクリックします
2.テーブルの作成ダイアログが表示されます(以下のスクリーンショットを参照)。ツールバーにあるテーブルの挿入アイコンをクリックした場合、テーブルを挿入するデザイン内の箇所をクリックした段階でダイアログが表示されます。

 

DlgCreateTable

 

動的テーブルボタンをクリックします。

 

3.XPath セレクターダイアログが表示されます。XPath コンテキストが、テーブルが挿入される場所になっていることに注目してください。この値をダイアログで変更することはできません。動的テーブルとして作成されるノードを選択してください。以下のスクリーンショットでは、n1:Department がコンテキストノードとなり、n1:Person がテーブルとして作成されるノードとして選択されています。

 

Click to expand/collapse

 

ユーザー定義 XPath オプションを選択した場合、動的テーブルとして作成されるノードを XPath 条件式により選択することができます。

4.「OK」 をクリックします。動的テーブルの作成ダイアログが表示されます(以下のスクリーンショットを参照)。

 

dlg_create_dyn_table_1

 

5.デザインウィンドウにドラッグされた要素の子要素や属性が表示されます。「行/カラムを選択」では、テーブルのカラムとして使用することができるリストが表示されます。カラムとして使用する子要素や属性を選択してください(上の例では、SharesLeaveTotalLeaveUsedLeaveLeft が選択解除されています)。その他のオプションについては以下で説明されます。設定が完了したら 「OK」 をクリックします。カラムは子要素や属性に対してだけ作成され、それより下の階層に対しては作成されないことに注意してください。

 

メモ:ユーザー定義された XPath を指定して、動的テーブルとして作成するノードを選択すると、ターゲットとなっているノードを曖昧でないかたちで StyleVision により判断することができなくなります。このような場合、テーブルのフィールド(カラム)を選択するための子属性/要素が、動的テーブルの作成ダイアログに表示されず、作成されたテーブルには手動でノードコンテンツを入力する必要があります。ノードコンテンツは、テーブルとして作成される選択ノードの子属性/要素である必要があります。

 

メモ:テーブルとしてスキーマノードを作成する、その他の方法として、スキーマツリーからデザインへノードをドラッグし、ドロップした時にテーブルとして作成することもできます。

 

縦向きと横向きのテーブル

テーブルが上から下に向けて拡張される場合、テーブルは以下のように表示されます:

 

tbl_table_grows_down

 

テーブルが左から右に拡張される場合、テーブルは以下のように表示されます:

 

tbl_table_grows_right

 

ヘッダーとフッター

カラムと行にはカラムならびに行要素の名前となるヘッダーを与えることができます。カラムヘッダーは各カラムの上部に表示されます。行ヘッダーは、各行の左側に表示されます。ヘッダーを含めるには、動的テーブルの作成ダイアログにある、ヘッダーを作成チェックボックスにチェックを入れます。テーブルの拡張方向に上から下が選択されている状態でヘッダーが作成されると、テーブルボディーの上にヘッダー行が作成されます。テーブルの拡張方向が左から右になっている場合、テーブルボディーの左側にカラムのヘッダーが作成されます。

 

フッターを含めるには、フッターを作成チェックボックスにチェックを入れます。ヘッダーと同様に、フッターはカラム(カラムの下部に表示)と行(行の右側に表示)に対して作成することができます。数値フィールドの要約チェックボックスにチェックがはいっている場合、数値カラムや行の合計がフッターに表示されます。

 

テーブルメニューからは、ヘッダーやフッターのセルを統合ならびに分割し、行やカラムの挿入、追加、削除を行うことができます。この機能により、ヘッダーやフッターの構造をとても柔軟に構成することができるようになります。更に、ヘッダーとフッターには条件テンプレートや自動計算を含む任意の型の静的ならびに動的コンテンツを含めることができます。

 

メモ: ヘッダーやフッターは、動的テーブルが定義された際に作成する必要があります。ヘッダーの作成を行うには、動的テーブルの作成ダイアログにある、ヘッダーを作成またはフッターを作成オプションにチェックを入れます。動的テーブル内部で行の追加を行なっても、新たな行が作成されるだけで、ヘッダーやフッターは作成されません。この違いは重要で、ヘッダー/フッターを作成コマンドにより、正しいヘッダーやフッターがテーブルの上部または下部に追加され、PDF による出力が行われる際に、 テーブルを含む各ページの上部または下部にヘッダーやフッターが表示されるようになります。行が挿入または追加された場合、動的テーブルとして作成された要素の各出現がそれぞれの行に表示されます。

 

入れ子になった動的テーブル

ある動的テーブルに対応する要素の子要素を使用することで、動的テーブル内部に別の(入れ子になった)動的テーブルを追加することができます。入れ子になった動的テーブルの作成は以下のように行うことができます:

 

1.要素の子要素がテーブルのカラムとして作成されるような外側の動的テーブルを作成します。
2.デザインビューにある動的テーブルにて、子要素を右クリックします。
3.コンテキストメニューから「変更 | テーブル」を選択し、動的テーブルの作成ダイアログを表示します。
4.ネストされる動的テーブルのプロパティを定義します。

 

動的テーブルを静的テーブル内にネストするには、動的テーブルとして作成される要素を、目的の静的テーブルのセルへドラッグし、ドロップした際にコンテキストメニューから「テーブルの作成」を選択してください。

 

テキストコンテンツを含む要素をテーブルに収める

子要素に対してカラムや行を作成するには、テーブルとして作成された要素内に子要素ノードや属性ノードが含まれていなければならず、子テキストノードは処理されません。テキストノードの内容をカラムに表示するには、例えば TableElement という要素からテーブルを作成する場合、Text という名前の子要素を新たに作成して、TableElement/Text 要素内に目的のテキストノードを挿入します。この操作により TableElement を動的テーブルとして作成することができます。各行の Text にはテキストノードが含まれ、テーブルの各行における内容は、TableElement 要素の出現内容に対応することになります。

 

テーブルボディーセルのコンテンツ

動的テーブルを作成すると、ノードコンテンツを任意の StyleVision コンポーネントとして作成することができます。上の例では、テーブルボディーのセルがコンテンツとして作成されました。動的テーブルの作成ダイアログでは、セルの表示方法にコンテンツが選択されていました。テーブルはデータ入力デバイスとして作成することもできます。以下の点に留意する必要があります:

 

表示方法の設定は、テーブル全体に対して適用されます。個々のセルの表示を変更するには、テーブルを作成した後に個々のセルを編集する必要があります。セルを右クリックして、コンテキストメニューの「変更」から、目的のセルコンテンツ型を選択してください。
セルを要素コンテンツとして作成し、その要素が派生型である場合、セルの文字列コンテンツと、その派生要素全てが連結されたかたちでセルに表示されます。

 

カラム、行、テーブルを削除する

カラム、行、テーブルを削除するには、削除するカラム、行、テーブル内にカーソルを配置し、メニューアイテムから「テーブル | カラムを削除」、「テーブル | 行を削除」、または「テーブル | テーブルを削除」をそれぞれ選択してください。テーブルが入れ子になっている場合、「テーブル | テーブルを削除」コマンドを使用することで、カーソルが含まれているテーブルを削除することができます。

 

ツールバー テーブルの編集 アイコン

ツールバーに用意されているテーブル編集アイコンはテーブルメニューコマンドへのショートカットとなります。これらのコマンドを使用することで、動的テーブルの構造やフォーマットプロパティを挿入、削除、そして編集することができます。これらのアイコンは静的テーブルに対しても使用することができます。CALS/HTML テーブルのフォーマットは異なる方法で行われるため、これらのアイコンを CALS/HTML テーブルへ使用することはできません。CALS/HTML テーブルは、StyleVision からのみ有効にすることになります。


 

グローバルテンプレート内の動的テーブルの作成

動的テーブルはグローバルテンプレート内にある要素でも作成することができます。テンプレートの作成は、メインテンプレートの要素と同様の方法で行われます。グローバルテンプレートでは、グローバルテンプレートノードの派生型要素に対してしか動的なテーブルを作成することができず、グローバルテンプレート要素そのものに対して作成することはできません。例えば、グローバルテンプレート内にある authors という要素に対して動的なテーブルを作成するには、authors 要素の親要素内に動的テーブルを作成する必要があります。authors 要素のグローバルテンプレート内部にテーブルを作成することはできません。

 

 

 


(C) 2019 Altova GmbH