機械翻訳について

メイン・テンプレートからのサブテンプレートのコール

メイン・テンプレートからサブテンプレートをコールするには、2つのエントリが必要です。

メイン・テンプレートにサブテンプレートを実装するには、メイン・テンプレートに2つのエントリを作成する必要があります:

まず、サブテンプレート・ファイルをメイン・テンプレートにインポートします。 インポート構文は、「パブリッシャ」エンジンがカタログ内のサブ・テンプレートを検索する場所を示します。

次に、コール・コマンドを入力して、必要な位置にサブテンプレートの内容をレンダリングします。

サブテンプレートをメイン・テンプレートにインポート

コール・テンプレート・コマンドの前に、メイン・テンプレートの任意の場所にimportコマンドを入力します。

ロケールを必要としない場合は、次のように入力します:

<?import:xdoxsl:///path to subtemplate.xsb?>

where

「subtemplate.xsbへのパス」は、カタログ内のサブテンプレートの.xsbオブジェクトへのパスです。

たとえば:

<?import:xdoxsl:///Executive/HR_Reports/mySubtemplate.xsb?>

サブテンプレートがマイ・フォルダの下の個人フォルダに存在する場合、サブテンプレートをインポートするコマンドは次のとおりです:

<?import:xdoxsl:///~username/path to subtemplate.xsb?>

ここで、usernameはユーザー名です。

たとえば、ユーザーmyuserがTemplate1というサブテンプレートをマイ・フォルダの下のサブテンプレートというフォルダにアップロードした場合、正しいインポート文は次のようになります:

<?import:xdoxsl:///~myuser/Subtemplates/Template1.xsb?>

サブテンプレートをコールして内容をレンダリング

コール・コマンドを入力して、必要な位置にサブテンプレートの内容をレンダリングすることもできます。

  • サブテンプレートをレンダリングするメイン・テンプレート内の位置で、次のようにcall-templateコマンドを入力します:
    <?call-template:template_name?>
    

    where

    template_nameは、サブテンプレート・ファイル(<?template:template_name?>文)内のテンプレート宣言文のコンテンツに割り当てた名前です。

次の図は、メイン・テンプレートに必要なエントリを示しています:

ローカライズされたサブテンプレートのインポート

インポートされたサブテンプレートのロケールを指定するには、次に示すように、インポート文にロケールを追加します。

<?import:xdoxsl:///{path to subtemplate.xsb}?loc={locale_name}?>

where

「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つのサブテンプレートに配置して他のすべてのサブテンプレートから参照できます。

サブテンプレートに文字列を配置して参照するには:
  1. RTFファイルに、次のテンプレート宣言を入力します:
    <?template:MyAddress?>
    My Company
    500 Main Street
    Any City, CA 98765
    <?end template?>
    
  2. 次のロケーションにあるカタログにサブ・テンプレートを作成: 顧客レポート/テンプレート。
  3. このファイルをサブ・テンプレートにアップロードし、"Common Components"として保存します(「パブリッシャ」はオブジェクトに.xsb拡張子を割り当てます)。
  4. メイン・テンプレートで、次のimport文をフォーム・フィールドに入力するか、テンプレートに直接入力します:
    <?import:xdoxsl:///Customer Reports/Templates/Common Components.xsb?>
    
  5. メイン・テンプレートで、住所を表示するロケーションに、次のように入力します:
    <?call-template:MyAddress?>

実行時に、MyAddressサブテンプレートのコンテンツがフェッチされ、メイン・テンプレートのレイアウトにレンダリングされます。

この機能は、文字列のみに制限されるわけではなく、有効なRTFテンプレート機能をサブテンプレートに挿入したり、一方から他方にパラメータを渡すこともできます。 例については、「RTFサブテンプレートを使用する場合」を参照してください。