xslt

説明

Extensible Stylesheet Language Transformations (XSLT) を使用して、XML 形式のデータを HTML 形式やほかの XML 形式に変換します。

このタグは、query2xml 変換の結果を動的に HTML に変換する際に有用です。

構文 1

囲まれた XML 入力を使用して XSL 変換を実行します。

<jrun:xslt
  xsl="URL to stylesheet"
  [id="variable name"]
  [scope="page|request|session|application"]>
  XML input
</jrun:xslt>

属性

xsl

必須。java.lang.Stringjava.net.URL を取ります。

XSL ファイルへの URL。文字列を使用して次のように指定できます。

移植性を高めるために、java.net.URL オブジェクトを指定して絶対 URL を使用 することもできます。

id

オプション。java.lang.String を取ります。

XSL 変換出力を参照するスクリプト変数名。

scope

オプション。java.lang.String を取ります。

このタグによって返されるオブジェクトの既定の JSP スコープ。有効な値は、 pagerequestsession、または application です。既定値は page です。

構文 2

URL から XML 入力を取得して XSL 変換を実行します。

<xslt
  xml="URL to XML file"
  xsl="URL to stylesheet"
  [id="scripting variable name"]
  [scope="page|request|session|application"]
/>

属性

xml

オプション。java.lang.String を取ります。

XML ファイルへの URL。文字列を使用して絶対 URL (/..)、このタグが使用され ているページからの相対 URL あるいは、完全な URL (http://..) を指定することが できます。移植性を高めるために、java.net.URL オブジェクトを指定して絶対 URL を使用することもできます。

xsl

必須。java.lang.String を取ります。

XSL ファイルへの URL。文字列を使用して絶対 URL (/..)、このタグが使用され ているページからの相対 URL あるいは、完全な URL (http://..) を指定することが できます。移植性を高めるために、java.net.URL オブジェクトを指定して絶対 URL を使用することもできます。

id

オプション。java.lang.String を取ります。

変換出力名。

scope

オプション。java.lang.String を取ります。

このタグによって返されるオブジェクトの既定の JSP スコープ。有効な値は、 pagerequestsession、または application です。既定値は page です。

スクリプト
変数

id を指定した場合、xslt タグによって返される結果は、java.io.BufferedReader のインスタンスとして pageContext オブジェクトに格納されます。返されるオブジェクトのスコープは、タグの scope によって決まり、その既定値は page です。

この JSP は、両方のタイプの xslt 構文の使用方法を示しています。最初に、構文 1 で、query2xml 変換の結果を変換する方法を示します。次に、構文 2 で、参照される XSL ファイルを使用して参照される XML ファイルを変換する方法を示します。

<%@ page import="java.sql.*,javax.sql.*,allaire.taglib.*" %>
<%@ taglib uri="jruntags" prefix="jrun" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>xslt Tag Example</title></head><body>
<%--
(xslt 構文 1) xslt タグを使用して query2xml 変換の結果を変換します。
--%>
<jrun:sql driver="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:DBNAME" id="rs">
select * from Table1
</jrun:sql>
<jrun:xslt xsl="format.xsl">
<jrun:query2xml query="rs"/>
</jrun:xslt>
<%--
(xslt 構文 2) xslt タグを使用して XML ファイルを変換します。
--%>
<jrun:xslt xml="test.xml"xsl="format.xsl"/>

</body></html>
-----------------------------

次の例は、名前および量の列が含まれている結果セットについて、xslt タグと併用できる簡単な XSL ファイルです。

<xsl:stylesheet xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="table">
<table border="1" width="250">
<tr><th>Name</th><th>Amount</th></tr>
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="row">
<tr><xsl:apply-templates/></tr>
</xsl:template>
<xsl:template match="name">
<td><xsl:apply-templates/></td>
</xsl:template>
<xsl:template match="amount">
<td><xsl:apply-templates/></td>
</xsl:template>
</xsl:stylesheet>