我发现在xsl中插入JavaScript代码是极其痛苦的,特别是带有大于(>)和小于(<)的情况,在直接使用<script><xsl:script>的尝试中,无论加上<![CDATA[]]><xsl:text disable-output-escaping="yes">或者使用&gt;,&lt;转译均不能成功输出><符号。

最终我在公司项目代码里面找到了网上中英文都没搜到的解决方案:先用反编译的方法写出一对<script></script>标签,再把js代码插入进去。而不是我之前一直尝试的各种在<script>下努力还原符号。

Javascipt <script>

1.把模板写入xsl文件底部

<xsl:template name="javascript"><xsl:param name="code"/><xsl:text disable-output-escaping="yes">&lt;script type="text/javascript"&gt;/* &lt;![CDATA[ */ </xsl:text><xsl:value-of select="$code" disable-output-escaping="yes"/><xsl:text disable-output-escaping="yes">/* ]]&gt; */&lt;/script&gt;</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">&lt;style&gt;/* &lt;![CDATA[ */ </xsl:text><xsl:text disable-output-escaping="yes"></xsl:text><xsl:text disable-output-escaping="yes">/* ]]&gt; */&lt;/style&gt;</xsl:text>
</xsl:template>

写在最后:

这个问题是出在xsl处理<script><xsl:script>时,要么默认把>转成&gt;,要么就保留&gt;而不转。xsl虽然强大,但是各种莫名其妙的trick也是很然人头疼。

在xsl中插入有大于、小于符号JavaScript,CSS代码的方法相关推荐

  1. 在线播放器 在网页中插入MediaPlayer 兼容IE和FF的代码调试

    <!– 在线播放器 在网页中插入MediaPlayer 兼容IE和FF的代码调试 Internet Explorer 和 Netscape 都支持 <embed> 元素,但它不是标准 ...

  2. C#实现在CAD图纸中插入另一个DWG图块的代码

    C#实现在CAD图纸中插入另一个DWG图块的代码PromptPointResult ppr = ed.GetPoint("请选择插入点:"); Point3d pt = ppr.V ...

  3. word中如何插入 符号_如何在Word中插入版权或商标符号

    word中如何插入 符号 You can easily insert hundreds of symbols into your Word document with a few nimble key ...

  4. Word中插入参考文献及其引用并能够自动更新的方法

    1.将鼠标光标移到文本中需要第一次引用参考文献的位置,点击"插入"菜单,选择"引用",接着选择"脚注和尾注",弹出"脚注和尾注&q ...

  5. 在excel表中插入一行(或一列)后vba代码如何自动修改?

    一.问题提出的引述连接: 插入一行后vba如何自动修改 如何在excle单元格中编写的vba语言当插入一列的时候公式也自动改变? 二.解决办法: 1.把单元格或单元区域选中. 2.然后给单元格命名. ...

  6. Mendeley插入文献后怎么清除文献域代码?方法之一

    Mendeley插入文献后怎么清除文献域代码? mendeley在插入文档时给了我们很多便利.但是它同样存在一个非常不好的情况,就是,用它在word中插入文献之后,会存在文献域代码.如图所示,在点击插 ...

  7. mybatis中sql语句中大于小于号的两种解决方法

    1.使用<![CDATA[]]>,因为CDATA 部分中的所有内容都会被解析器忽略,所以建议使用<![CDATA[]]> 来解决小于号问题:实例:<![CDATA[ sq ...

  8. Word文档中插入心形特殊符号

    爱心符号怎么打 ? 1.打开Word文档,这里主要是方便复制心形符号  如图 2.在文档的菜单栏里点击"插入" 如图 3.然后点击"符号"  如图 4.在打开的 ...

  9. Ibatis 大于小于符号

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

最新文章

  1. iOS 使用 MailCore2
  2. VSCode + git代码托管:入门到实战
  3. 7-278 求幂级数展开的部分和 (20 分)
  4. 【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office?
  5. Vivado 2019使用教程
  6. Android ViewHolder的理解
  7. 【银联支付】php接入银联支付
  8. IP地址和 MAC地址详解
  9. 微信小程序 web-view 无法外链 和 不支持打开非业务域名
  10. 在线综艺冷场:“爱优腾芒”放不开,“抖快B”拿不下
  11. 微信小程序:易飞拼图喵
  12. 2015校园O2O商业模式解析——从水果切入
  13. mac重启php-fpm
  14. 前端开发:报错Error in... ”SyntaxError:Unexpected token u in JSON at position 0”…解决方法
  15. 夏季繁华系列||妆面照欣赏
  16. “画仓鼠” 大赛,正式回归了!
  17. Linux系统MySQL自动备份
  18. 数据中台当前与未来-数字化架构设计(1)
  19. 微信 libco 协程库原理剖析
  20. 6款常用且好用的Python编辑器推荐!

热门文章

  1. 关于ssh分页的实现
  2. 【超详细】开源JZVideo饺子播放器播放器配置使用以及其自定义
  3. 从0到1构建大促运营活动
  4. 用DIV+CSS技术设计的西安旅游网站18页(web前端网页制作课作业)HTML+CSS旅游网站设计与实现
  5. 全国高校计算机专业,全国高校计算机专业排名
  6. linux设置Supervisor开机自启动
  7. c语言用户自定义类型,c语言用户自定义数据类型.ppt
  8. 远程控制软件向日葵等
  9. DASCTF九月挑战赛复现-web
  10. 瑞士洛桑联邦理工学院:研究显示用我们的身体和动作操纵无人机比摇杆更适合...