<xsl:value-of> 元素
将选定节点的值作为文本插入。
<xsl:value-of
select = Expression
disable-output-escaping = "yes" | "no"
</xsl:value-of>
特性
选择
必选。要根据当前上下文计算的表达式 (XML)。通过调用 string() 函数,将结果转换为字符串。通过插入节点集中第一个节点的字符串值,将节点集转换为字符串。disable-output-escaping
默认值为 "no"。如果值为 "yes",通过实例化 <xsl:value-of> 元素生成的文本节点在输出时将不进行任何转义。例如,以下指令生成单个字符 "<"。<xsl:value-of disable-output-escaping="yes" select="string('<')"/>
备注
因为 disable-output-escaping="yes" 可以用于生成格式不正确的文档,所以应谨慎使用。在某些情况下,如果输出的格式不正确,可能会产生错误。例如,对 XML 文档的 transformNodeToObject 要求结果的格式正确,因此,如果 disable-output-escaping 影响了格式的正确性,可能无法完成。将 disable-output-escaping="yes" 作为一项高级功能,只有了解了可能存在危险时才应使用。
元素信息
注释
<xsl:value-of> 元素插入一个文本字符串,表示 select 属性指定的第一个元素(按文档顺序)的值。
如果 XML 路径语言 (XPath) 表达式返回多个节点,<xsl:value-of> 元素将返回所返回的第一个节点的文本(等效于 XMLDOMNode 对象的 selectSingleNode 方法)。如果返回的节点是包含子结构的元素,<xsl:value-of> 返回该元素子树的串联文本节点,并删除标记。
示例
以下 XSLT 文件从 <person> 元素以及 <given-name> 和 <family-name> 子元素中,创建 <p> 元素。<p> 元素将包含当前节点第一个 <given-name> 子元素的字符串值,后跟空格和当前节点第一个 <family-name> 子元素的字符串值。
XML 文件 (family.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="family.xsl"?>
<family>
<person>
<given-name age="10">Fred</given-name>
<family-name>Smith</family-name>
</person>
<person>
<given-name age="13">Jill</given-name>
<family-name>Jones</family-name>
</person>
</family>
XSLT 文件 (family.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="person">
<p>
<xsl:value-of select="given-name"/>
<xsl:text> </xsl:text>
<xsl:value-of select="family-name"/>
</p>
</xsl:template>
</xsl:stylesheet>
输出
以下是格式化输出:
Fred Smith
Jill Jones
以下是处理器输出:
<?xml version="1.0" encoding="UTF-16"?>
<p>Fred Smith</p>
<p>Jill Jones</p>