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コンテナがボディ・コンテンツを処理した後、アクションがボディ・コンテンツを切り捨ててさらに処理します。

属性

xml
解析するソース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型のオブジェクトを受け入れます。

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


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

 

Copyright © 1997, 2004, Oracle. All rights reserved.