Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

#INCLUDE

CSP サーバ側の Include 指示語です。

Synopsis


<!--#INCLUDE FILE="filename"-->

属性

一般的な属性

属性 説明
FILE インクルードするテキストを含むファイル名 ファイル名
VIRTUAL 仮想ディレクトリで始まるファイル・パス ブーリアン

概要

#INCLUDE 指示語により、外部テキスト文書から CSP ページ内にテキストをインクルード (組み込み) できます。

#INCLUDE の使用例は、http://localhost/csp/samples/textinclude.cspOpens in a new tab サンプル・ページを参照してください。

サーバ側の INCLUDE 指示語により、CSP サーバがファイルを処理する前に、他のファイルのコンテンツを挿入できます。.csp ファイルに他のファイルを挿入するには、以下の構文を使用します。

<!-- #include VIRTUAL | FILE="filename" -->

キーワード virtualfile は、ファイルのインクルードに使用されるパスのタイプを示します。また、filename には、インクルードするファイルのパスとファイル名を入力します。インクルードするファイルに、特別なファイル名拡張子は必要ありません。しかし、インクルード・ファイルに .inc 拡張子を付けると、他のファイル・タイプと区別できるので、プログラミングをする上で便利です。

仮想ディレクトリから始まるパスを指定するには、virtual キーワード使用します。例えば、Footer.inc という名前のファイルが /Myapp という名前の仮想ディレクトリにある場合、以下は Footer.inc のコンテンツを、この行を含むファイルに挿入します。

<!-- #include virtual ="/myapp/footer.inc" -->

相対パスを示すには、file キーワードを使用します。 相対パスは、インクルード先のファイルを含むディレクトリから始まります。 例えば、Myapp ディレクトリにファイルが存在し、Header1.inc ファイルが Myapp\Headers に存在する場合、以下の行は、Header1.inc のコンテンツをファイルに挿入します。

<!-- #include file ="headers\header1.inc" -->

インクルード・ファイルへのパス Headers\header1.inc は、インクルード先のファイルを起点とする相対パスです。この #INCLUDE 文を含むスクリプトが、/Myapp ディレクトリに存在しない場合、この文は無効です。CSP はインクルード・ファイルへの変更を検出し、そのファイルをインクルードするページを強制的にリコンパイルします。アプリケーション構成の変更により、CSP ページのファイル、もしくは CSP ページ内のインクルード・ファイルの位置が変更される場合もあります。したがって、CSP 構成が変更されると、すべてのページがリコンパイルされます。

インクルード先のファイル : ヒントと注意

インクルードされたファイルは、他のファイルをインクルードすることもできます。#include 指示語がループを形成していなければ、.csp ファイルは、同じファイルを複数回含むこともできます。例えば、First.csp ファイルが Second.inc ファイルをインクルードする場合、Second.inc は、First.csp をインクルードできません。また、ファイル自身をインクルードできません。CSP は、スクリプト・コマンドを実行する前にファイルをインクルードします。したがって、スクリプト・コマンドを使用して、インクルード・ファイルの名前を設定することはできません。例えば、以下のスクリプトは、CSP が変数名にファイル名を割り当てる前に、#INCLUDE 指示語を実行するため、Header1.inc ファイルをオープンしません。

<!-- This script will fail -->
 <script language="cache" runat="server">
  set name=header1_".inc"
 </script>
<!-- #include file="#(name)#" -->

スクリプト・コマンドとプロシージャは、必ずスクリプト区切り文字の <SCRIPT> と </SCRIPT> の間に記述する必要があります。つまり、スクリプト区切り文字内にファイルをインクルードすることも、インクルード先の .csp ファイル内でスクリプト区切り文字をオープンし、インクルード・ファイル内で区切り文字をクローズすることもできません。スクリプトは、完全なユニットである必要があります。インクルード指示語は、.csp ファイル内と同様に、ルール・ファイルでも使用できます。ルール・ファイルについても、スクリプト区切り文字間での #INCLUDE 使用について同様の制限が適用されます。

FeedbackOpens in a new tab