<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('&lt;')"/>
    

    备注

    因为 disable-output-escaping="yes" 可以用于生成格式不正确的文档,所以应谨慎使用。在某些情况下,如果输出的格式不正确,可能会产生错误。例如,对 XML 文档的 transformNodeToObject 要求结果的格式正确,因此,如果 disable-output-escaping 影响了格式的正确性,可能无法完成。将 disable-output-escaping="yes" 作为一项高级功能,只有了解了可能存在危险时才应使用。

元素信息

出现次数

无限制

父元素

xsl:attributexsl:commentxsl:copyxsl:elementxsl:fallbackxsl:for-eachxsl:ifxsl:messagexsl:otherwisexsl:paramxsl:processing-instructionxsl:templatexsl:variablexsl:whenxsl:with-param、输出元素

子元素

(无子元素)

注释

<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>