#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" -->
キーワード virtual と file は、ファイルのインクルードに使用されるパスのタイプを示します。また、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 使用について同様の制限が適用されます。