gpt4 book ai didi

.net - XSL 到 .Net 1.1 中的 HTML : How to include javascript which has '&&' without getting errors?

转载 作者:行者123 更新时间:2023-12-04 07:01:20 25 4
gpt4 key购买 nike

我在 .Net 1.1 中使用 xslt 将 xml 转换为 html。其中一部分包含一个 javascript 部分,其中 2 个变量被 AND 运算 (&&)。转换引发未知实体错误。我能做什么?我尝试过“CDATA”和“禁用输出转义”但没有成功。如果我写&&,那么输出也是'&&'。

这是我的代码。 (为清晰起见进行了修剪)

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" standalone="yes" indent="yes" cdata-section-elements="script style"/>

<xsl:template match="/menus">
<html>
<xsl:text disable-output-escaping="yes">
<head>
<title>Portal</title>
<script type="text/javascript">
//
// Show hide language block
//
function lang(s) {
var elD = document.getElementById('german');
var elE = document.getElementById('english');
if(elD && elE) { /// <<---- error occurs here
elD.style.display = s == 'german' ? 'block': 'none';
elE.style.display = s == 'german' ? 'none': 'block';
}
}
</script>
</head>
</xsl:text>
<body>
<h2>Das Portal ist vorübergehend unerreichbar / The Portal is temporarily unavailable</h2>

<div><a href="#" onclick="lang('german')">deutsch</a> | <a href="#" onclick="lang('english')">English</a>
</div>

<div id="german">
<xsl:apply-templates select="//menu[@lang='de']"/>
</div>

<div id="english">
<xsl:apply-templates select="//menu[@lang='en']"/>
</div>
</body>
</html>
</xsl:template>

最佳答案

您可以尝试将脚本放在 CDATA 部分中。 AFAIK XSLT 文件中的 CDATA 部分不会转换为输出文件中的 CDATA 部分。

<script language="JavaScript">
<![CDATA[
//
// Show hide language block
//
function lang(s) {
var elD = document.getElementById('german');
var elE = document.getElementById('english');
if(elD && elE) { /// <<---- error occurs here
elD.style.display = s == 'german' ? 'block': 'none';
elE.style.display = s == 'german' ? 'none': 'block';
}
}
]]>
</script>

关于.net - XSL 到 .Net 1.1 中的 HTML : How to include javascript which has '&&' without getting errors?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1788447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com