JSTL XMLライブラリ - <x:transform>タグ
XML文書にXSLTスタイルシート変換を適用します。
構文
構文1: ボディ・コンテンツなし
- <x:transform
- xml=XMLDocument xslt= XSLTStylesheet
- [xmlSystemId=XMLSystemId] [xsltSystemId=XSLTSystemId]
- [{var=varName [scope= scopeName]|result=resultObject}]
構文2: ボディに変換パラメータを指定
- <x:transform
- xml=XMLDocument xslt= XSLTStylesheet
- [xmlSystemId=XMLSystemId] [xsltSystemId=XSLTSystemId]
- [{var=varName [scope= scopeName]|result=resultObject}]
- <x:param> actions
- </x:transform>
構文3: ボディにXML文書とオプションの変換パラメータを指定
- <x:transform
- xslt=XSLTStylesheet
- xmlSystemId=XMLSystemId xsltSystemId=XSLTSystemId
- [{var=varName [scope= scopeName]|result=resultObject}]
- XML Document to parse
- optional <x:param> actions
- </x:parse>
scopeNameは {page|request|session|application}です。
ボディ・コンテンツ
JSP。JSPコンテナがボディ・コンテンツを処理した後、アクションがボディ・コンテンツを切り捨ててさらに処理します。
属性
- xml
- org.w3c.dom.Document、あるいは
<x:parse>
または<x:set>
によってエクスポートされたオブジェクト。変換されるソースXML文書です。(<x:set>
によってエクスポートされた場合、部分的なXML文書ではなく整形式のXML文書に対応している必要があります。)
- xslt
- String、Reader、Sourceのいずれかのオブジェクトとしての変換スタイルシート。
- xmlSystemId
- XML文書を解析する際のシステム識別子(URI)。
- xsltSystemId
- XSLTスタイルシートを解析する際のシステム識別子(URI)。
- var
- 変換されたXML文書を格納するエクスポート・スコープ変数の名前。スコープ変数の型はorg.w3c.dom.Documentです。
- scope
- varのスコープ。
- result
- 変換結果を取得または処理する結果オブジェクト。
NULLおよびエラーの処理
- ソースXML文書がNULLまたは空の場合、JspExceptionがスローされます。
- ソースXSLT文書がNULLまたは空の場合、JspExceptionがスローされます。
説明
<x:transform>
タグは、特定のXSLTスタイルシート(xslt属性)を使用してXML文書(xml属性またはアクションのボディ・コンテンツ)に変換を適用します。DTDやスキーマに対する検証は行いません。
<x:transform>
を起動すれば必ずTransformerオブジェクトがキャッシュされますが、キャッシュされたTransformerを使用するか、新しいTransformerを生成するかを決定する際には、xslt属性とxsltSystemId属性の両方を十分に検討する必要があります。解析中に参照された外部エンティティの値がアプリケーションのライフ・サイクルを通じて変更されないことを前提とする場合もあります。
デフォルトでは、変換の結果はページに書き込まれます。変換の結果を他の2種類の方法で取得することもできます。
- result属性で指定したjavax.xml.transform.Resultオブジェクト
- var属性およびscope属性で指定したスコープ変数に保存されるorg.w3c.dom.Documentオブジェクト
関連項目
JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)
Copyright © 1997, 2004, Oracle. All rights reserved.