为了账号安全,请及时绑定邮箱和手机立即绑定

为什么XSLT默认输出所有文本?

为什么XSLT默认输出所有文本?

为什么XSLT默认输出所有文本?嗨我已经执行了一个转换,如果它是null,则删除一个标记。我想检查我的转换是否正常工作,所以不是手动检查,而是编写了一个XSLT代码,只检查OUTPUT XML中是否存在该特定标记,如果它为null,则第二个XSLT应该输出一个文字“发现”。(我实际上并不需要一些XML类型的输出,但我只是使用XSLT进行搜索。)当我尝试使用这个XSL代码::<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:template match="/SiebelMessage//SuppressCalendar[.!='']">       FOUND  </xsl:template></xsl:stylesheet>它输出XML文件中存在的所有TEXT DATA,为了避免这种情况,我不得不写下这段代码::<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:template match="/SiebelMessage//SuppressCalendar[.!='']">       FOUND  </xsl:template>   <xsl:template match="text()"/></xsl:stylesheet>为什么以前的代码输出TEXT,为什么我要坚持XSL忽略所有其他文本?是所有XML解析器的行为或仅我自己的行为(我正在使用msxml解析器)。
查看完整描述

2 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

XSL中有几个内置的模板规则,其中之一是:

<xsl:template match="text()|@*">
  <xsl:value-of select="."/></xsl:template>

它输出文字。


查看完整回答
反对 回复 2019-08-12
  • 2 回答
  • 0 关注
  • 496 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信