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> 要素は最初のページが完全にロードされ、解析される前に解決されます。次に例を示します。
- java-index.xal またはajax-index.xal が取得、解析、および表示されます。
- header.xml がリクエストされ、既存のドキュメントにマージされます。
- body.xml がリクエストされ、既存のドキュメントにマージされます。
- 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』を参照してください。