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

サブテンプレートをメイン・テンプレートに実装するには、メイン・テンプレートに2つのエントリを作成します。

最初に、メイン・テンプレートにサブ・テンプレートをインポートします。インポートの構文で、カタログ内のサブ・テンプレートを検出するPublisherエンジンを指定します。

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

サブテンプレートのインポート

次に示すように、メイン・テンプレート内のコール・テンプレート・コマンドより前の任意の位置にインポート・コマンドを入力します。

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

説明

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

次に例を示します。

<?import:xdoxsl:///Executive/Financial Reports/mySubtemplate.xsb?>

サブテンプレートのコール

XSLサブ・テンプレート・ファイル内で定義されたテンプレート文はデータ要素に適用されます。インポートしたXSLサブテンプレート内のテンプレート定義は、2種類の方法でコールできます。

  • データの内容を一致基準と照合します。

    <xsl:apply-templates select="data_element"/>
    

    このメソッドでは、XSLサブ・テンプレートで定義されたすべてのテンプレートが、指定されたdata_elementに適用されます。data_elementのデータの内容に従って、それらのテンプレートの適切な機能が適用されます。詳細な例は、HTML書式によるXMLデータの処理に示すユースケースを参照してください。

  • テンプレートを名前でコールします。

    <xsl:call-template name="templateName"/>
    

    このメソッドでは、テンプレートが名前でコールされ、テンプレートが関数コールと同様に実行されます。また、RTFサブ・テンプレートと同様にテンプレート・コールにパラメータを渡すことができます。XSLサブテンプレートへのパラメータの引渡しを参照してください。

    詳細な例は、データの一部に対する書式設定の動的な適用に示すユースケースを参照してください。

XSLサブテンプレートへのパラメータの引渡し

<xsl:template>定義内でパラメータを宣言します。

XSLサブ・テンプレートにパラメータを渡すには:

  1. 次のように、<xsl:template>定義内でパラメータを宣言します。
    <xsl:template name="templateName" match="/">
       <xsl:param name="name" />
    </xsl:template>
    
  2. このテンプレートを次の構文を使用してコールします。
    <xsl:call-template name="templateName">
      <xsl:with-param name="name" select="expression">
        <?--- Content:template -->
      </xsl:with-param>
    </xsl:call-template>