JSTL XMLライブラリ - <x:parse>タグ

XML文書を解析します。

構文1: StringオブジェクトまたはReaderオブジェクトを使用してXML文書を指定

<x:parse xml=”XMLDocument
    {var=”var” [scope=”scope ”]|varDom=”var” [scopeDom=”scope”]}
    [systemId=”systemId”]
    [filter=”filter”]/>

構文2: ボディ・コンテンツを使用してXML文書を指定

<x:parse
    {var=”var” [scope=” scope”]|varDom=”var” [scopeDom=” scope”]}
    [systemId=”systemId”]
    [filter=”filter”]/>
         XML Document to parse
</x:parse>

scope {page|request|session|application}です。

ボディ・コンテンツ

JSP。JSPコンテナがボディ・コンテンツを処理した後、アクションがボディ・コンテンツを切り捨ててさらに処理します。

属性

doc
解析するソースXML文書。
systemId
XML文書を解析する際のシステム識別子(URI)。
filter
ソース文書に適用されるフィルタ。
var
解析されたXML文書を格納するエクスポート・スコープ変数の名前。スコープ変数の型は実装によって異なります。
scope
varのスコープ。
varDom
解析されたXML文書を格納するエクスポート・スコープ変数の名前。スコープ変数の型はorg.w3c.dom.Documentです。
scopeDom
varDomのスコープ。

NULLおよびエラーの処理

説明

<x:parse>アクションはXML文書を解析し、var属性またはvarDom属性で指定したスコープ変数に結果のオブジェクトを保存します。DTDやスキーマに対する検証は行いません。

XML文書は、xml属性で、またはアクションのボディ・コンテンツを使用してインラインに指定できます。

varvarDom

varを使用する場合、結果のオブジェクトのタイプはこの仕様では定義されていません。したがって、XMLタグセットの効果的な実装に最も適したものを使用できます。varDomではDOM文書が公開されるため、カスタム・アクションとの連携が可能になります。varvarDomによって公開されるオブジェクトは、どちらもXPath式のコンテキストの設定に使用できます。

フィルタリングによって得られるパフォーマンス上の利点

XMLタグセットの実装がDOMに似た構造をベースとしている場合、大規模なXML文書を処理する際にはパフォーマンスが大きな影響を受けます。影響を緩和するため、filter属性を使用して、入力データを解析してDOMに似た構造に入れる前にフィルタリングを行うことができます。

たとえば、入力として受信する元のXML文書の10%にすぎないヨーロッパの顧客のみを処理する場合、解析前にヨーロッパ以外の顧客をXML文書から削除すれば、作成されるDOM構造のサイズと複雑さが大幅に低減されます。

<c:import url=”http://acme.com/customers” var=”xml”/>
<x:parse xml=”${xml}” filter=”${filterEuropeanCust}”
var=”doc”/>

filter属性はorg.xml.sax.XMLFilter型のオブジェクトを受け入れます。

フィルタの構成が必要な場合、クライアント開発者が構成作業を簡単に行えるように、フィルタ開発者がカスタム・タグを提供することをお薦めします。

注意: JSTL 1.1では、Java Servlet 2.4およびJavaServer Pages 2.0の仕様をサポートするJSPコンテナが必要です。JSTL 1.0仕様の実装には、Java Servlet 2.3およびJavaServer Pages 1.2の仕様をサポートするJSPコンテナが必要です。

JSTLタグの状況依存ヘルプを提供するため、JSTLタグ・ライブラリのドキュメントがApache Software Foundation(http://www.apache.org/)で作成され、JDeveloperに含まれています。また、JSTLタグおよび属性の説明を含む『JavaServer Pages Standard Tag Library 1.0 and 1.1 Specifications』を次のWebサイトからダウンロードできます。

http://www.jcp.org/aboutJava/communityprocess/final/jsr052/index2.html

JSTLの詳細は、次の外部リファレンスを参照してください。

『Java Sun JSTL Resources』ページ:
http://java.sun.com/products/jsp/jstl/

 

JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)