您当前的位置:电脑,基础,教程,源码,下载,信息—问百度开发语言Java → 在线教程内容

JSP函数与对象学习之 <x:transform>动作

  • 作者:佚名    来源:不详    发布时间:2007-8-27 14:41:52
  • 字体大小:

<x:transform>动作用于使用一个XSLT样式表转换一个源XML文档,其语法格式如下:

<x:transform  doc="XMLDocument" 

    xslt="XSLTStylesheet" 

    [docSystemId="XMLSystemId"] 

    [xsltSystemId="XSLTSystemId"] 

    [var="varName"  [scope="page|request|session|application"] | result="resultObject"]  />

<x:transform  doc="XMLDocument" 

    xslt="XSLTStylesheet" 

    [docSystemId="XMLSystemId"] 

    [xsltSystemId="XSLTSystemId"] 

    [var="varName"  [scope="page|request|session|application"] | result="resultObject"]>

    [<x:param  name="parameterName"  value="parameterValue"  />] +

</x:transform>

<x:transform 

    xslt="XSLTStylesheet" 

    [docSystemId="XMLSystemId"] 

    [xsltSystemId="XSLTSystemId"] 

    [var="varName"  [scope="page|request|session|application"] | result="resultObject"]>

    XMLDocument

    [<x:param  name="parameterName"  value="parameterValue"  />] +

</x:transform>

<x:transform>动作共有8个属性,包括doc、xml、xslt、docSystemId、xsltSystemId、var、scope和result。

.1  doc属性:指定XML文档

【功能说明】doc属性用于指定要转换的源XML文档。如果XML通过<x:set>动作输出,则必须是格式良好的XML文档。doc属性可以接受动态值。

【实例演示】

<%@  page  contentType="text/html;charset=GB2312"  %>

<%@  taglib  prefix="c"  uri="http://java.sun.com/jsp/jstl/core"  %>

<%@  taglib  prefix="x"  uri="http://java.sun.com/jsp/jstl/xml"  %>

<c:import  var="doc"  url="txl.xml"  charEncoding="GB2312"  />

<c:import  var="stylesheet"  url="txl.xsl"  charEncoding="GB2312"  />

<x:transform  doc="${doc}"  xslt="${stylesheet}"  />

示例代码的执行效果如图9.15所示。

图9.15  使用<x:transform>动作的doc属性

.2  xml属性:指定XML文档

【功能说明】xml属性用于指定要转换的XML文档,不再推荐使用,它已被doc属性所替代。

【实例演示】

<%@  page  contentType="text/html;charset=GB2312"  %>

<%@  taglib  prefix="c"  uri="http://java.sun.com/jsp/jstl/core"  %>

<%@  taglib  prefix="x"  uri="http://java.sun.com/jsp/jstl/xml"  %>

<c:import  var="doc"  url="txl.xml"  charEncoding="GB2312"  />

<c:import  var="stylesheet"  url="txl.xsl"  charEncoding="GB2312"  />

<x:transform  xml="${doc}"  xslt="${stylesheet}"  />

.3  xslt属性:指定XSLT样式表

【功能说明】xslt属性用于指定XSLT样式表,可以接受动态值。

【实例演示】

<%@  page  contentType="text/html;charset=GB2312"  %>

<%@  taglib  prefix="c"  uri="http://java.sun.com/jsp/jstl/core"  %>

<%@  taglib  prefix="x"  uri="http://java.sun.com/jsp/jstl/xml"  %>

<c:import  var="doc"  url="book.xml"  charEncoding="GB2312"  />

<c:import  var="stylesheet"  url="book.xsl"  charEncoding="GB2312"  />

<x:transform  doc="${doc}"  xslt="${stylesheet}"  />

其中,XSLT样式表book.xsl的内容如下:

<?xml version="1.0" encoding="GB2312"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

    <xsl:template match="books">

        <table border="0" width="70%">

            <tr bgcolor="lightblue" >

                <th>书名</th>

                <th>类型</th>

                <th>定价</th>

            </tr>

            <xsl:for-each select="book">

                <tr bgcolor="#DDDDDD">

                    <td align="center">

                        <xsl:value-of select="name"/>

                    </td>

                    <td align="center">

                        <xsl:value-of select="type"/>

                    </td>

                    <td align="right">

                        <xsl:value-of select="price/@symbol"/>

                        <xsl:value-of select="price"/>

                    </td>

                </tr>

            </xsl:for-each>

        </table>

    </xsl:template>

</xsl:stylesheet>



[1] [2] 下一页