上記の両方のオプションは、データを取り込むために機能しますが、色に関する他の質問を見逃しています. データがインポートされたときに、一意のシリアル番号に従って自動的に色を表示したいと思いますよね?
1. はい、データを XML としてインポートできます。これは、最も簡単で柔軟な方法です。Data Merge は、短いドキュメントの場合は問題ありませんが、大量のデータの場合は面倒です。Data Merge では、データ レコードごとに 1 つのテキスト フレームが作成されます。それは多くの余分な作業になります。
一方、XML をインポートして、ドキュメント全体を流れ、ページに自動的に入力し、段落スタイルと文字スタイルに基づいてフォーマットすることができます。本: A Designer's Guide to Adobe InDesign and XML は、XML のインポート方法を教えてくれます。
質問 2: 「カラー チップを生成する方法」はもう少し複雑です。シリアル番号の数字に基づいてグラフィックをロードするには、XSLT を作成する必要があります。xsl:choose
XML のデータに基づいて正しい数の星を選択するルーチンを使用して、株式ポートフォリオのファクト シートの星についてこれと同様のことを行いました。そのような:
<xsl:choose>
<xsl:when test="name()='stars'">
<!-- <xsl:copy><xsl:apply-templates/></xsl:copy><xsl:text></xsl:text>-->
<xsl:choose>
<xsl:when test="current()[.=2]"><stars>H H</stars>
</xsl:when>
<xsl:when test="current()[.=3]"><stars>H H H</stars>
</xsl:when>
<xsl:when test="current()[.=4]"><stars>H H H H</stars>
</xsl:when>
<xsl:when test="current()[.=5]"><stars>H H H H H</stars>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
同様のルーチンを作成して、代わりにハード ドライブまたはサーバーからグラフィックスをロードすることもできます。XML を InDesign にインポートするときは、XML インポート オプション ダイアログ ボックスに XSLT をロードします。これにより、シリアル番号に基づいてカラー チップをロードすることができます。
XSLT は、グラフィック チップを構築できることに加えて、必要に応じて段落の改行やその他のボイラープレート テキストや空白を挿入することで、データ コンテンツの構造化にも役立ちます。<xsl:text></xsl:text>
InDesign に必要な空白を挿入するために使用するのが好きです。それはチャンピオンのように機能します。
多くの場合、XML ファイルには空白がないか、空白が多すぎます。XSLT メソッドを使用すると、必要に応じて、結果のレイアウトで空白を追加、削除、および制御できます。
それが役立つことを願っています。