我想通過xslt轉換來讀取xml文件並將內容放入不同的div。我在某些解決方案中受到限制,我無法使用任何服務器端語言,此內容將在本地運行(直接從CD),並且必須在IE中工作(我知道爲何正確?)每個客戶端規格用javascript函數發佈xslt轉換的單獨div的內容
本質上,我想將所有的階段放在「階段」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;
}
,如果你給了我們一個這將有助於預期產出。你的問題到底是什麼?你想知道爲什麼這個xsl不能像你期望的那樣工作嗎?只要看看代碼,在你的for內部 - 每個XPath都是不正確的。 – ljdelight 2013-03-12 02:31:42