我有一个XSLT文件,它呈现了XHTML页面的一部分。当它被添加时,我得到“不允许的字符数据”错误。如果我将它包装在CDATA中,那么我会收到更多错误。有人可以帮忙吗?
<script language="javascript">
YAHOO.util.Event.onDOMReady(function (ev) {
//...
var myPaginatorConfig = {
containers : "pagination",
rowsPerPage : 1,
template : "<table><tr><td>{PreviousPageLink}</td>" +"<td><xsl:value-of select="jsfunc:getSliderDiv()" disable-output-escaping="yes"/></td>"+
"<td>{NextPageLink}</td></tr></table><xsl:value-of select="jsfunc:getClearDiv()" disable-output-escaping="yes"/>",
totalRecords : Math.ceil(numItems / numVisible),
previousPageLinkLabel : "Earlier Events",
nextPageLinkLabel : "Later Events",
previousPageLinkClass : "nav_button",
nextPageLinkClass : "nav_button nav_button_right"
}
//...
});
</script>
答案 0 :(得分:1)
"<table><tr><td>{PreviousPageLink}</td>" +"<td><xsl:value-of select="jsfunc:getSliderDiv()" disable-output-escaping="yes"/></td>"+
"<td>{NextPageLink}</td></tr></table><xsl:value-of select="jsfunc:getClearDiv()" disable-output-escaping="yes"/>"
你这里没有逃避的事情。除非“是”是变量,否则您应该使用单引号将它们括起来,或使用反斜杠来转义双引号。
"<table><tr><td>{PreviousPageLink}</td>" +"<td><xsl:value-of select="jsfunc:getSliderDiv()" disable-output-escaping=\"yes\"/></td>"+
"<td>{NextPageLink}</td></tr></table><xsl:value-of select="jsfunc:getClearDiv()" disable-output-escaping=\"yes\"/>"
答案 1 :(得分:1)
您是否尝试过以下操作:
<xsl:text disable-output-escaping="yes">
<![CDATA[ <script language="javascript"> your code</script> ]]>
</xsl:text>
disable-output-escaping =“yes”将保持您的标签不变 这为我解决了很多问题