InDesignドキュメントに、レイアウト情報のないXMLデータを読み込んでも、当然ながら紙面レイアウトは作成されません。
ドキュメントには、XMLデータを受け入れるためのレイアウトが必要です。
InDesignでXML組版用のレイアウトを作るときには、見た目のことばかりではなく、レイアウト全体をXML構造という視点で見ることが大切です。
そうすることが、簡潔で合理的なXMLデータを作ることへの大きな手助けの一つになります。
そうしたことを踏まえながら、今回は、洋服の通販カタログなどにあるサイズ表を例に、作業してみます。
ここでの環境は、InDesign CC2018(Windows版)です。

公式サイト Adobe InDesignを詳しく見てみる
レイアウト構成を考える
ここでは次のように、3つの表をひとつのテキストフレームの中に作ります。

1番目が、洋服の展開サイズを価格ごとにまとめた、サイズ別の価格表。
2番目が、商品番号・色番号とそれに対するサイズ展開の表。
3番目は、展開サイズごとの寸法表です。
このレイアウトの作成方法は、これじゃなきゃダメっていうものではありません。元のデータベースの構造や、XMLとして考えたときの階層構造、InDesignでのメンテナンスのしやすさなどを考慮して作成すると良いと思います。
表組み作成
では早速、InDesignでレイアウトを作っていきます。
InDesignのフォーマットの、どの部分が繰り返しデータが入るのかをイメージして、罫線の繰り返しパターンを考えながら作ります。
XMLからデータを読み込む場所と、InDesignのフォーマットとしてあらかじめ文字を入力しておく場所の切り分けも考えます。
行数可変で固定文字のない場合
まずは一番上の、価格帯ごとにサイズをまとめて表示した部分を作ります。
この部分は、サイズ(M・L・LL)の部分も、価格部分の金額以外の「税別」「円」の文字も全てXMLから流し込むことにします。

価格帯の数は商品によって変わることが考えられるので、必要最低限の1行分だけ作ります。

表の下側の罫線をここで書いてしまうと、価格帯が複数になったときに各行間の罫線が書かれてしまうのでここでは表の下の罫線は書きません。
段落スタイルも、この段階で作ってあててみて、体裁を確認しておきます。
プレビュー画面でみたのがコレ。

「税別 0,000円」の行は、段落スタイルに正規表現スタイルを組み込んで「税別」と「円」の文字サイズを変えました。
スタイルを使って自動的に体裁をフォーマットさせると、XML側で体裁に関することを考えずにすみます。特に、正規表現スタイルは大いにその力を発揮してくれます。
行数固定で固定文字のある場合
2つ目の表は、商品番号・色番号・サイズ番号です。

この表は3項目だけで、行数も必ず3行で固定なので、3行分作って表1列目のマクラ文字も入れておきます。このマクラの文字は、XMLからの流し込みはしないことにします。

プレビュー画面でみたのがコレ。

上の表との間は、アキを0にしてくっつけました。
3行目の「サイズ番号」に記載される中黒「・」は文字前後のアキがベタになるように、ここでも正規表現スタイルをあてました。
毎回同じ文字が入る場合、その文字もあらかじめフォーマットとして入れておきます。そうすれば、XMLデータ内に用意する必要はありません。
行数可変で固定文字のある場合
3つ目の表は、各サイズごとの寸法です。

この表も一つ目の表と同様に、商品のサイズ展開数によって行数が変わるので、可変行の本体部分は1行分だけを作っておきます。
ここで、1行目のヘッダー文字も入れておきます。
上の表との間のアキは1mmにしました。

プレビュー画面でみたのがコレ。

レイアウト完成
3つの表が、一つのテキストフレームに縦に並ぶように入って、XMLデータを流し込むための表組みが出来上がりました。
下図の左が、いま作成したレイアウト。
最終目標は右側の表です。

次回は、プレースホルダーを完成させます
次回は、このInDesignドキュメントの表にXMLのタグを付け、XMLデータを流し込むプレースホルダーとして完成させます。
公式サイト Adobe InDesignを詳しく見てみる
コメント