XSLT中用normalize-space函数来清除元素的前后空格

原创 2006年05月17日 18:18:00

XSLT中用normalize-space函数来清除元素的前后空格

 左直拳

按照我的理解,XML文件存储数据,XSLT负责显示这些数据。同样的XML文件,结合不同的XSLT,结果呈现出来的风格、样式可以大相径庭。

可能也是由于功能强大的原因,XSLT有许多语法、函数,但介绍的资料似乎很少,应用起来常常费心劳力。

现在有一个问题,从XML中获取的数据,在XSLT中进行分析之前怎样祛除数据前后的空格?如:

<xsl:choose>

<xsl:when test=".[a='']" >

<p>元素a为空</p>

</xsl:when>

<xsl:when test=".[b='']" >

<p>元素b为空</p>

</xsl:when>

<xsl:otherwise>

<p>元素ab都不为空</p>

</xsl:otherwise>

</xsl:choose>

 

结果,对于ab表面上看似乎为空的数据,如<a>  </a><b> </b>,全都输出了元素ab都不为空这样的字样。很显然,在比较的时候没有删除元素里前后的空格。

要怎样才能删除这些空格?如果在C#或者其他什么语言里,早一个”Trim”飞过去把它搞定了。

辛辛苦苦跑到网上搜索一翻,发现可以用normalize-space这个函数。

可我怎么试都没有成功,说是不支持normalize-space。后来看了看XSLT的文件头,差点吐血,原来我用的是老版本的命名空间:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

改成新版本的命名空间:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

问题解决了。

<xsl:choose>

<xsl:when test="normalize-space(a)=''" >

<p>元素a为空</p>

</xsl:when>

<xsl:when test="normalize-space(b)=''" >

<p>元素b为空</p>

</xsl:when>

<xsl:otherwise>

<p>元素ab都不为空</p>

</xsl:otherwise>

</xsl:choose>

版权声明:本文为博主原屙文章,喜欢你就担走。

相关文章推荐

xslt转换为html中空格处理

方法一:用 就可以表示空格了。   方法二:用可以保留空格,注意这里的xsl类型为text才可以,为其他的就不行了。   方法三:disable-output-escaping ...
  • Truong
  • Truong
  • 2012年12月26日 10:15
  • 1712

xpath中normalize-space的实际应用

normalize,字面意思就是正规化 加入space  大概意思就是空格的处理了 官方解释是这样的: 通过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。如果省略了该参数,上下文节...

学习笔记——XSLT控制相关元素

分支处理 1::使用时,指定以个test属性,属性值为一个布尔表达式,元素内容为模板内容。 boolean-expression> template -->   2:、和分别相当于ja...

xslt输出空格

&nbsp; 
  • aoyo
  • aoyo
  • 2009年10月09日 15:58
  • 553

C# 处理XML + XSLT转换中HTML元素的输出问题及解决

====================================================== 注:本文源代码点此下载 =============================...

在 XSLT 中用递归实现循环

原文地址:https://www.ibm.com/developerworks/cn/xml/x-tiploop.html 扩展 XSLT 能力的技术 XSLT 是一种函数式编程语...

OpenCV学习笔记(5)——normalize函数

normalize函数归一化输入数组使它的范数或者数值范围在一定的范围内。

opencv函数介绍(1)——normalize

1.函数原型 void cv::normalize(InputArry src,InputOutputArray dst,double alpha=1,double beta=0,int norm_t...

OpenCV2中矩阵的归一化 normalize函数详解

该文章内容主要来自于http://www.bubuko.com/infodetail-705559.html 1. 归一化定义与作用     归一化就是要把需要处理的数据经过处理后...

XSLT 元素使用说明

  • 2008年04月04日 22:57
  • 233KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XSLT中用normalize-space函数来清除元素的前后空格
举报原因:
原因补充:

(最多只允许输入30个字)