XInclude

XInclude

Nexaweb のXInclude は、XML ドキュメントの内部のXML、XML 部品、およびテキストを動的にインクルードして、再利用するための方法を提供します。インクルードされた内容は、初めから元のドキュメント内で宣言されていたように扱われます。Nexaweb のXInclude は、w3c.org バージョン1 勧告のサブセット(http://www.w3.org/TR/xinclude/) です。

次の例では、初期ファイル(java-index.xal) でXInclude を使用する方法を示します。

<xal>
< rootPane>
< xi:include xmlns:xi="http://openxal.org/core/xinclude" href="header.xml"/> _fcksavedurl=""header.xml"/>" _fcksavedurl=""header.xml"/>" _fcksavedurl=""header.xml"/>" _fcksavedurl=""header.xml"/>"
< xi:include xmlns:xi="http://openxal.org/core/xinclude" href="body.xml"/> _fcksavedurl=""body.xml"/>" _fcksavedurl=""body.xml"/>" _fcksavedurl=""body.xml"/>" _fcksavedurl=""body.xml"/>"
< /rootPane>
< /xal>

この例では、ユーザーは次の2 つの属性を指定します。

  • xmlns:xi- XInclude 命令の名前空間。http://openxal.org/core/xinclude を使用してください。
  • href- 静的なファイル、動的なサーバーページ、またはサーブレットに対するhttp 参照。

XInclude の使用は、インクルードするページのロードのタイミングの点から、すべてのページを1 つのファイルに単純に組み合わせるものとは異なります。ページに<include> 要素がある場合、<include> 要素は最初のページが完全にロードされ、解析される前に解決されます。次に例を示します。

  1. java-index.xal またはajax-index.xal が取得、解析、および表示されます。
  2. header.xml がリクエストされ、既存のドキュメントにマージされます。
  3. body.xml がリクエストされ、既存のドキュメントにマージされます。
  4. header.xml またはbody.xml にさらにinclude タグがある場合、header.xml およびbody.xml の両方の後に取得されます。

header.xml:
< label text="Welcome to Acme company"/>
body.xml:
< button text="Click for company Information"/>
< button text="Click for company Products"/>
メモリ内に作成されるドキュメントは、次のようになります。

<xal>
<rootPane>
<label text="Welcome to Acme company"/>
<button text="Click for company Information"/>
<button text="Click for company Products"/>
</rootPane>
</xal>


次の形式のデータをインクルードすることができます。

  • XML 部品(ルートタグのないXML)
  • 整形式のXML またはCDATA タグにラップされたテキスト
  • 名前空間を持たない

UI 要素、および名前空間を持つ Nexaweb ページ要素 (MCO 宣言やマクロ宣言など)。名前空間を持つページ要素は、常に名前空間を持たない要素がインクルードされる前に実行されます。xinclude を介して埋め込まれたのではないページと同様に、ドキュメント内の順序は関係しません。XInclude の詳細については、『XInclude Reference Guide』を参照してください。