xsl: normalize-space(string str) 函数

本文出自http://technet.microsoft.com/zh-cn/magazine/ms256063%28VS.90%29.aspx函数

 

经过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。 若是省略了该参数,上下文节点的字符串值将标准化并返回。spa

如下函数调用返回“abc def”:code

normalize-space(" abc def ")orm

若是参数不是字符串类型,将先转换成字符串再计算。 请参见下面的示例。xml

若是参数不是字符串类型,将先使用 string() 函数转换为字符串,而后计算该转换的结果。ip

Caution note警告

做为参数传递给此函数的节点集的字符串转换可能会产生意外的结果。 有关更多信息,请参见 string 函数ci

此函数区分大小写。字符串

 

如下示例使用非标准化的空白(单词间的制表符、前导和尾随的空格以及多个空格)标准化文本字符串块。 文本字符串是 <text> 元素的值。get

Xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" 

href="normalizeSpace.xsl"?>      
<text>
    This is a
  test, with a   lot    of 
    irregular  spacing and
    waiting to be      normalizaed.


</text>
Xml
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"           
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="xml"   
       omit-xml-declaration="yes"/>

<xsl:template match="/text">
Unnormalized: 
"<xsl:value-of select='.'/>"
Normalized: "<xsl:value-of select='normalize-space()'/>"
</xsl:template>

</xsl:stylesheet>

该 XSLT 生成如下输出:string

Unormalized:

"

This is a

test, with a lot of

irregular spacing and

waiting to be normalizaed.

 

 

"

Normalized:

"This is a test, with a lot of irregular spacing and waiting to be normalized."

相关文章
相关标签/搜索