メイン・テンプレートからのサブテンプレートのコール
メイン・テンプレートからサブ・テンプレートをコールするには、2つの入力を行う必要があります。
サブ・テンプレートをメイン・テンプレートに実装するには、メイン・テンプレートに2つのエントリを作成する必要があります。
最初に、メイン・テンプレートにサブ・テンプレートをインポートします。インポートの構文で、カタログ内のサブ・テンプレートを検出するPublisherエンジンを指定します。
次に、サブ・テンプレートの内容をレンダリングするコール・コマンドを必要な位置に入力します。
メイン・テンプレートへのサブテンプレートのインポート
メイン・テンプレート内のコール・テンプレート・コマンドより前の任意の位置にインポート・コマンドを入力します。
ロケールが必要ない場合は、次のように入力します。
<?import:xdoxsl:///path to subtemplate.xsb?>
説明
path to subtemplate.xsbは、カタログ内のサブ・テンプレート.xsbオブジェクトへのパスです。
次に例を示します。
<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?>
サブ・テンプレートが、「マイ・フォルダ」の下位の個人フォルダにある場合、サブ・テンプレートをインポートするコマンドは次のとおりです。
<?import:xdoxsl:///~username/path to subtemplate.xsb?>
このusernameはユーザー名です。
たとえば、ユーザーmyuserが、「マイ・フォルダ」の下位のSubtemplatesというフォルダにTemplate1というサブテンプレートをアップロードする場合、正しいインポート文は次のようになります。
<?import:xdoxsl:///~myuser/Subtemplates/Template1.xsb?>
サブテンプレートの内容をレンダリングするためのコール
サブテンプレートの内容をレンダリングするコール・コマンドを必要な位置に入力することもできます。
次の図は、メイン・テンプレートで必要な入力を示しています。
ローカライズ済サブテンプレートのインポート
インポートしたサブテンプレートのロケールを指定するには、次のようにインポート文にロケールを追加します。
<?import:xdoxsl:///{path to subtemplate.xsb}?loc={locale_name}?>
説明
path to subtemplate.xsbは、カタログ内のサブ・テンプレート.xsbオブジェクトへのパスです。
および
locale_nameは、ロケールを構成する言語-地域の組合せです。ロケールの指定は、オプションです。
次に例を示します。
<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?loc=en-US?>
また、${_XDOLOCALE}を使用して、実行時のユーザー・ロケールに基づいてローカライズ済サブ・テンプレートをインポートすることもできます。次に例を示します。
<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?loc=${_XDOLOCALE}?>
例
この例では、会社の住所がすべてのテンプレートに固定の文字列として表示されます。すべてのテンプレートでこの文字列を再表示するのではなく、1つのサブ・テンプレートに配置して、他のすべてのテンプレートから参照できます。
実行時に、MyAddressサブ・テンプレートの内容がフェッチされ、メイン・テンプレートのレイアウト内でレンダリングされます。
この機能では、文字列だけでなく、サブ・テンプレート内の任意の有効なRTFテンプレート機能を挿入できます。さらに、パラメータを一方から他方へ渡すことも可能です。この例については、「RTFサブテンプレートを使用する状況」を参照してください。