XSLT专业站 - 提供xslt和xml相关的资料书籍和教程  
XSLT专业站 - 提供xslt和xml相关的资料书籍和教程
网站地图  收藏本站
首页 | 热门文章 | 精彩实例 | 经典教程 | XSLT语法详解 | 资料下载 | 休闲天地 | 交流论坛
  当前位置:首页>经典教程>文章内容
XSLT的处理模型(10)
来源:XSLT.org.cn 作者:XSLT专业站 发布时间:2007-08-04  
XSLT的处理模型(10)

     请注意上面的输出中,出现的第一个元素不是html而是test元素,因此不能满足条件(2)因此得到的输出默认为XML形式;转换结果如下:

    <?xml version="1.0" encoding="UTF-16"?>
    <test>dfdf</test>
    <html>10  + 5  + 7  = 22</html>

    但是如果将test元素去掉,即原来的XSLT文档变成:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">       
        <html>
                <xsl:text/>
                <xsl:value-of select="//BBB[1]"/>
                <xsl:text> + </xsl:text>
                <xsl:value-of select="//BBB[2]"/>
                <xsl:text> + </xsl:text>
                <xsl:value-of select="//BBB[3]"/>
                <xsl:text> = </xsl:text>
                <xsl:value-of select="sum(//BBB)"/>
                </html>
        </xsl:template>
    </xsl:stylesheet>

    这是的转换以后的代码就变成

    <html>10  + 5  + 7  = 22</html>

    即原来的xml处理指令消失,转换结果是一个HTML文档。

    XSLT可以将结果树输出成为纯文本,如下的例子就表示输出的结果是一个纯文本:
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com by Ya (amonic) -->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text"/>
        <xsl:template match="/">
                <html>
                        <xsl:text/>
                        <xsl:value-of select="//BBB[1]"/>
                        <xsl:text> + </xsl:text>
                        <xsl:value-of select="//BBB[2]"/>
                        <xsl:text> + </xsl:text>
                        <xsl:value-of select="//BBB[3]"/>
                        <xsl:text> = </xsl:text>
                        <xsl:value-of select="sum(//BBB)"/>
                </html>
        </xsl:template>
    </xsl:stylesheet>

    它的转换结果是:10 + 5 + 7 = 22,该结果是一个纯文本。

    我们最后看一下encoding和indent属性

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com by Ya (amonic) -->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" indent="yes" encoding="utf-16"/>
        <xsl:template match="/">
                <html>
                        <xsl:text/>
                        <xsl:value-of select="//BBB[1]"/>
                        <xsl:text> + </xsl:text>
                        <xsl:value-of select="//BBB[2]"/>
                        <xsl:text> + </xsl:text>
                        <xsl:value-of select="//BBB[3]"/>
                        <xsl:text> = </xsl:text>
                        <xsl:value-of select="sum(//BBB)"/>
                </html>
        </xsl:template>
    </xsl:stylesheet>

输出的结果是:

<?xml version="1.0" encoding="UTF-16"?>
<html>10  + 5  + 7  = 22</html>

可以看到默认得编码已经变成utf-16,并且自动完成缩进。


标题: XSLT的处理模型(10)
关键字:模型 处理 select xsl:value-of xsl:text
上一篇:XSLT的处理模型(9)   下一篇:XSL基础教程(一)
  经典教程热点文章
·XSLT的处理模型(1)
·XSL基础教程(一)
·XSLT的处理模型(2)
·XSLT的处理模型(3)
·XSLT的处理模型(4)
·XSLT的处理模型(5)
·XSLT的处理模型(6)
·XSLT的处理模型(7)
·XSLT的处理模型(8)
·XSLT的处理模型(9)
·XSL基础教程(二)
·XSL基础教程(三)
  经典教程相关文章
·XSLT的处理模型(9)
·XSL基础教程(一)
·XSLT的处理模型(8)
·XSL基础教程(二)
·XSLT的处理模型(7)
·XSL基础教程(三)
·XSLT的处理模型(6)
·XSLT的处理模型(5)
·XSLT的处理模型(4)
·XSLT的处理模型(3)
·XSLT的处理模型(2)
·XSLT的处理模型(1)
Copyright© 2007 xslt.org.cn All rights reserved.