xslt转换XML为HTML遇到JS,CSS等问题
一开始把所有的内容放到一个模板里面,结果<script总是被转义,折腾了半天,终于想出了个办法,用模板吧JS和css、html等分开果然是药到病除
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" omit-xml-declaration="yes" /> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <xsl:call-template name="yy"></xsl:call-template> <xsl:call-template name="ss"></xsl:call-template> </html> </xsl:template> <xsl:template name="ss"> <body> <table id="myDataTable" class="display"> <thead> <tr> <th> 标识 </th> <th> 公司名称 </th> <th> 地址 </th> <th> 城市 </th> </tr> </thead> <tbody> </tbody> </table> <input type="button" id="btnTest" value="根据条件重新响应后台Ajax" /> </body> </xsl:template> <xsl:template name="yy"> <head> <title>rrrrrrrrrrrrrrrrr</title> <script type="text/javascript" src="../../Content/media/js/jquery.js"></script> <script type="text/javascript" src="../../Content/media/js/dataTables.js"></script> <link href="../../Content/media/css/demo_page.css" type="text/css" rel="stylesheet" /> <link href="../../Content/media/css/demo_table.css" type="text/css" rel="stylesheet" /> <script type="text/javascript"> var tbl; $(function () { tbl = $('#myDataTable').dataTable({ "bServerSide": true, "sAjaxSource": "Home/AjaxHandler", //mvc后台ajax调用接口。 'bPaginate': true, //是否分页。 "bProcessing": true, //当datatable获取数据时候是否显示正在处理提示信息。 'bFilter': false, //是否使用内置的过滤功能。 'bLengthChange': true, //是否允许用户自定义每页显示条数。 'sPaginationType': 'full_numbers', //分页样式 "aoColumns": [ { "sName": "ID", "bSearchable": false, "bSortable": false, "fnRender": function (oObj) { return '<a href="Details/' + oObj.aData[0] + '">View</a>'; } //自定义列的样式 }, { "sName": "COMPANY_NAME" }, { "sName": "ADDRESS" }, { "sName": "TOWN" } ] }); //Ajax重新load控件数据。(server端) $("#btnTest").click(function () { var oSettings = tbl.fnSettings(); oSettings.sAjaxSource = "Home/AjaxHandler"; alert(oSettings.sAjaxSource); tbl.fnClearTable(0); tbl.fnDraw(); }); }); </script> </head> </xsl:template> </xsl:stylesheet>
test