Version表示输出文档的版本,该属性是和method相关的,在method为xml时,版本的值
是必须是1.0,这样输出文档的第一行就成为:<?xml version="1.0"?>。
encoding属性表示输出的结果采用什么方式的编码,例如:encoding="GB2312"表示输出
的文档用国标码编码。
omit-xml-declaration 属性表示输出的结果中是否需要包含xml声明,它的取值只能是
"yes"或者"no",默认取值是在method为XML是为no,否则为yes。
Standalone取值同样只能是 "yes" 或者 "no",表示文档类型声明是否单独输出。
doctype-public表示文档定义类型的公共标识符
doctype-system表示文档定义类型的系统标识符
cdata-section-elements在该属性值中出现的元素必须用CDATA元素包裹
indent规定输出的XML文档是否缩进,取值只能是"yes" 或者"no",默认不缩进。
media-type表示媒体类型
这些属性中,经常使用的属性是version,encoding indent,method四个。
说了这么多理论知识,我们联系一下实践,用实例说明output元素的用法。
后续的XSLT都应用到如下的XML文档中
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="OutPutDefault.xslt"?>
<AAA>
<BBB>10 </BBB>
<BBB>5 </BBB>
<BBB>7 </BBB>
</AAA>
先看一下默认得输出,在下面的XSLT文档中,没有指明output元素
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transfor
m">
<xsl:template match="/">
<test>dfdf</test>
<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而是test元素,因此不能满足条件(
2)因此得到的输出默认为XML形式;转换结果如下:
<?xml version="1.0" encoding="UTF-16"?>
<test>dfdf</test>
<html>10 + 5 + 7 = 22</html>
