在xsl中插入有大于、小于符号JavaScript,CSS代码的方法
我发现在xsl中插入JavaScript代码是极其痛苦的,特别是带有大于(>
)和小于(<
)的情况,在直接使用<script>
和<xsl:script>
的尝试中,无论加上<![CDATA[]]>
,<xsl:text disable-output-escaping="yes">
或者使用>
,<
转译均不能成功输出>
、<
符号。
最终我在公司项目代码里面找到了网上中英文都没搜到的解决方案:先用反编译的方法写出一对<script></script>
标签,再把js代码插入进去。而不是我之前一直尝试的各种在<script>
下努力还原符号。
Javascipt <script>
1.把模板写入xsl文件底部
<xsl:template name="javascript"><xsl:param name="code"/><xsl:text disable-output-escaping="yes"><script type="text/javascript">/* <![CDATA[ */ </xsl:text><xsl:value-of select="$code" disable-output-escaping="yes"/><xsl:text disable-output-escaping="yes">/* ]]> */</script></xsl:text>
</xsl:template>
2.调用JavaScript模板
<xsl:template match="/"><xsl:call-template name="javascript"><xsl:with-param name="code"><![CDATA[ function loop(){for(let i=0; i++; i<10){console.log(i)}}]]></xsl:with-param></xsl:call-template>
</xsl:template>
最终结果:
CSS <style>
所以CSS
的模板也是同理,利用注释符和反编译手段让xsl不要编译>
、<
符号。
<xsl:template name="style"><xsl:text disable-output-escaping="yes"><style>/* <![CDATA[ */ </xsl:text><xsl:text disable-output-escaping="yes"></xsl:text><xsl:text disable-output-escaping="yes">/* ]]> */</style></xsl:text>
</xsl:template>
写在最后:
这个问题是出在xsl处理<script>
、<xsl:script>
时,要么默认把>
转成>
,要么就保留>
而不转。xsl虽然强大,但是各种莫名其妙的trick也是很然人头疼。
在xsl中插入有大于、小于符号JavaScript,CSS代码的方法相关推荐
- 在线播放器 在网页中插入MediaPlayer 兼容IE和FF的代码调试
<!– 在线播放器 在网页中插入MediaPlayer 兼容IE和FF的代码调试 Internet Explorer 和 Netscape 都支持 <embed> 元素,但它不是标准 ...
- C#实现在CAD图纸中插入另一个DWG图块的代码
C#实现在CAD图纸中插入另一个DWG图块的代码PromptPointResult ppr = ed.GetPoint("请选择插入点:"); Point3d pt = ppr.V ...
- word中如何插入 符号_如何在Word中插入版权或商标符号
word中如何插入 符号 You can easily insert hundreds of symbols into your Word document with a few nimble key ...
- Word中插入参考文献及其引用并能够自动更新的方法
1.将鼠标光标移到文本中需要第一次引用参考文献的位置,点击"插入"菜单,选择"引用",接着选择"脚注和尾注",弹出"脚注和尾注&q ...
- 在excel表中插入一行(或一列)后vba代码如何自动修改?
一.问题提出的引述连接: 插入一行后vba如何自动修改 如何在excle单元格中编写的vba语言当插入一列的时候公式也自动改变? 二.解决办法: 1.把单元格或单元区域选中. 2.然后给单元格命名. ...
- Mendeley插入文献后怎么清除文献域代码?方法之一
Mendeley插入文献后怎么清除文献域代码? mendeley在插入文档时给了我们很多便利.但是它同样存在一个非常不好的情况,就是,用它在word中插入文献之后,会存在文献域代码.如图所示,在点击插 ...
- mybatis中sql语句中大于小于号的两种解决方法
1.使用<![CDATA[]]>,因为CDATA 部分中的所有内容都会被解析器忽略,所以建议使用<![CDATA[]]> 来解决小于号问题:实例:<![CDATA[ sq ...
- Word文档中插入心形特殊符号
爱心符号怎么打 ? 1.打开Word文档,这里主要是方便复制心形符号 如图 2.在文档的菜单栏里点击"插入" 如图 3.然后点击"符号" 如图 4.在打开的 ...
- Ibatis 大于小于符号
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
最新文章
- iOS 使用 MailCore2
- VSCode + git代码托管:入门到实战
- 7-278 求幂级数展开的部分和 (20 分)
- 【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office?
- Vivado 2019使用教程
- Android ViewHolder的理解
- 【银联支付】php接入银联支付
- IP地址和 MAC地址详解
- 微信小程序 web-view 无法外链 和 不支持打开非业务域名
- 在线综艺冷场:“爱优腾芒”放不开,“抖快B”拿不下
- 微信小程序:易飞拼图喵
- 2015校园O2O商业模式解析——从水果切入
- mac重启php-fpm
- 前端开发:报错Error in... ”SyntaxError:Unexpected token u in JSON at position 0”…解决方法
- 夏季繁华系列||妆面照欣赏
- “画仓鼠” 大赛,正式回归了!
- Linux系统MySQL自动备份
- 数据中台当前与未来-数字化架构设计(1)
- 微信 libco 协程库原理剖析
- 6款常用且好用的Python编辑器推荐!
热门文章
- 关于ssh分页的实现
- 【超详细】开源JZVideo饺子播放器播放器配置使用以及其自定义
- 从0到1构建大促运营活动
- 用DIV+CSS技术设计的西安旅游网站18页(web前端网页制作课作业)HTML+CSS旅游网站设计与实现
- 全国高校计算机专业,全国高校计算机专业排名
- linux设置Supervisor开机自启动
- c语言用户自定义类型,c语言用户自定义数据类型.ppt
- 远程控制软件向日葵等
- DASCTF九月挑战赛复现-web
- 瑞士洛桑联邦理工学院:研究显示用我们的身体和动作操纵无人机比摇杆更适合...