disable-output-escaping是XSL中的重要属性,用于指示是否将escaping(转义字符如:&<>) 作为xml进行解析。
<description>
Ferris & <a href="http://willa.com">Willa</a>
</description>
上述代码的解析结果:
disable-output-escaping="yes"或者"no",都被解析为:
Ferris & Willa 因为<a>没有被解析成连接,而是被作为XML的一个节点解析了。
此时,如果description元素中有单独的& <符号,解析时会报错!因为是非法的。
<description>
Ferris & <a href="http://willa.com">Willa</a>
</description>
上述代码解析结果:
disable-output-escaping="yes",解析为:
Ferris & Willa <被解析成<,继而被解析成链接
disable-output-escaping="no"或者不设置该属性,解析为:
Ferris & <a href="www">www</a> <将不被解析成<
通过上述实例,我们发现两个问题:
1.在XML元素中的写标签(如上述的<a>)将不会被作为text解析,而是作为节点来解析。如果想写XML字符串,必须以<来表示<。如果想直接写XML字符串或者&、<等字符,可以考虑在元素中的<![CDATA[ ]]>中直接写。例如:
<description><![CDATA[
Ferris & <a href="http://willa.com">Willa</a>]]>
</description>
此时,如果disable-output-escaping="no",则显示:Ferris & <a href="http://willa.com">Willa</a>
disable-output-escaping="yes",则显示:Ferris & Willa
2.在XML元素中的text中不能还有独立的&字符,否则会报错。
在<![CDATA[ ]]>中可以随便写什么,且如果d-o-e="no"时所写的就是将来所看到的,当d-o-e="yes"时会将其中的标签(<a href="#">Willa</a>)解析为html标签进行显示,将<a>Willa<a>这样的转义过的字符串显示为<a>Willa</a>。
在元素中不能单独写特殊符号(写&,<会报错),且在元素中直接写的标签(<a href="#">Willa</a>)将作为XML节点解析,当试图去获取当前节点中的文本时,将得到Willa而不是<a href="#"></a>。在元素中的转义过的字符串,当d-o-e="yes"时将被解析为字符串代表的html内容,否则被解析为字符串本身。
在应用开发中,经常会遇到对字符串中的特殊字符进行转换,如将&转换为& ,将<转换为<。需要注意的是,后台如果进行过这样的转换,那么在包含字符串时,就避免使用<![CDATA[ ]]>,否则前台读取到的结果就是<&等转义后的字符串。
分享到:
相关推荐
jmeter.results.shanhe.me.xsl和jmeter-results-detail-report_21.xsl报告结合,在jmeter.results.shanhe.me.xsl的基础上增加summary,解决换行问题
XSL-FO 简介 XSL-FO 的简介。包括其概念和作用。 XSL-FO 文档 本章将解 XSL-FO 文档的结构。...本章讲解 XSL-FO 如何使用 XSLT。 XSL-FO 对象参考手册 完整的 XSL-FO 对象列表,以及它们的属性。
XSL-Stylesheets Source: DocBook-XSL-1.79.1
在这个例子中,对于匹配到的文本节点(即CDATA中的内容),使用`<xsl:value-of>`元素并设置`disable-output-escaping="yes"`,可以确保不对其进行转义处理,从而使得不规范的HTML代码能够按照预期被浏览器正确解析和...
使用XML,XSLT,XSL-FO和在.NET中生成PDF文档的。 XML数据示例,XSL样式表和生成的PDF位于文件夹中(XML和XSL由)。 产生结果result.pdf : 建立解决方案 将source.xml和stylesheet.xsl复制到EXE文件夹 运行EXE...
在这个案例中,“docbook-style-xsl-1.75.2-6.el6.noarch.rpm”是DocBook样式XSL转换器的一个特定版本,适用于RPM支持的系统,如CentOS 6,而且是“noarch”的,意味着它不依赖特定的处理器架构,可以在任何兼容的...
jmeter测试报告模板jmeter-results-detail-report_21.xsl
XSL-Stylesheets Document: DocBook-XSL-1.79.1
4个jmeter测试报告模板集合 jmeter.results.shanhe.me.xsl jmeter.results.zyanycall.me.xsl jmeter-results-detail-report_30.xsl jmeter-results-report_21.xsl
要在Laravel项目中使用`Krowinski/Laravel XSLT`,首先需要通过Composer进行安装。在终端中运行以下命令: ``` composer require krowinski/laravel-xslt ``` 安装完成后,需要在`config/app.php`的`providers`数组...
标题中的"jmeter-results-shanhe-me.xsl"是一个XSLT(Extensible Stylesheet Language Transformations)文件,专门用于转换JMeter测试结果。JMeter是Apache组织开发的一款开源性能测试工具,常用于Web应用的压力...
在XSL中进行字符串替换是一项常见且实用的功能。本文将详细介绍如何通过XSLT实现字符串的替换,并重点探讨两种常用的方法:使用`ms:script`(仅限于Microsoft的XML解析器)以及纯XSL模板。 ### XSL中的字符串替换 ...
cactus-report.xsl cactus-report.xsl cactus-report.xsl
离线安装包,亲测可用
10. **XSL-FO软件**:学习和使用XSL-FO时,会涉及各种工具,如处理器(将XSL-FO转换为实际的输出格式如PDF)和编辑器,帮助开发者编写和调试XSL-FO文档。 XSL-FO的一个关键优势在于它的标准化,这意味着无论使用哪...
在DocBook中,XSL样式表定义了元素如何被呈现,如章节、列表、代码块等。 博文链接提到的资源包含了一些关键的XSL文件,让我们一一解析: 1. **pdf.xsl** - 这个文件用于将DocBook XML转换为PDF格式。它包含了生成...
以下是对"在XSL中使用数组例子"这一主题的详细解释。 1. **数组概念的模拟** 在XSL中,我们不能像在其他编程语言中那样声明一个数组并初始化它。然而,我们可以通过创建一系列的变量或模板来模拟数组。每个变量...
### XSL 学习知识点详解 #### 一、XSL 概述 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种...通过理解 XSL 的基本概念、语法以及 XPath 的使用方法,开发者可以更好地利用 XSL 来满足不同的需求。
通过本文的介绍,我们可以了解到在使用XSLT转换XML时,如果需要正确显示XML中的HTML代码,只需简单地在`<xsl:value-of>`元素中添加`disable-output-escaping="yes"`即可。这不仅能够帮助我们更好地理解XSLT的工作...