我正在尝试通过 xslt 转换读取 xml 文件并将内容放入不同的 div 中。我在某些解决方案中受到限制,因为我不能使用任何服务器端语言,此内容将在本地运行(直接从 cd 运行)并且必须在 IE 中工作(我知道为什么对吗?)每个客户端规范
本质上,我想将所有阶段放在“阶段” div 中,并使用 onClick 函数将课程加载到“课程” div
下面的一些代码是伪代码,无法运行,提前感谢您的帮助。
XML 文件
<?xml version="1.0" encoding="utf-8"?>
<menu frame="UH1Y" curriculum="Crew Chief Training ICW">
<phase name='Unit 01'>
<lesson link='lesson01/menu.htm'>lesson 01</lesson>
<lesson link='lesson02/menu.htm'>lesson 02</lesson>
<lesson link='lesson03/menu.htm'>lesson 03</lesson>
<lesson link='lesson04/menu.htm'>lesson 04</lesson>
<lesson link='lesson0/menu.htm'>lesson 05</lesson>
</phase>
<phase name='Unit 02'>
<lesson link='lesson01/menu.htm'>lesson 01</lesson>
<lesson link='lesson02/menu.htm'>lesson 02</lesson>
<lesson link='lesson03/menu.htm'>lesson 03</lesson>
</phase>
</menu>
XSL 文件
<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"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>menu</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script src="scripts/menu.js" type="text/javascript"></script>
</head>
<body>
<div id="container2">
<div id="phase">
<ul>
<xsl:for-each select="menu/phase">
<li onclick='loadLesson(<xsl:value-of select="menu/phase/@name[current()]"/>);'>
<xsl:value-of select="@name"/></li>
</xsl:for-each>
</ul>
</div>
<div id="lesson2">
<ul>
<xsl:for-each select="menu/phase[position() = {*the current phase*]/lesson">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ul>
</div>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
JS文件
function loadLesson(x) {
alert(x);
//<xsl:value-of select="menu/phase/@name[current()]"/>
theDiv=document.getElementById('lesson2')
theDiv.innerHTML = x;
}