我給你一些背景來解釋我的問題:一個XML和XSL幾個(幾個觀點)
我有一個XML文件和一個XSL文件是這樣的:
data.xml中:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
和overview.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
當我在Firefox中打開data.xml中,一切都很好,就像我想。 現在,我想有2個我的CD目錄的意見。一個視圖是一個「概述」,一個是「擴展」,這意味着,我需要2個不同的xsl。
我嘗試這樣做:
view1.xml:
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
<xml-file href="data.xml" />
view2.xml:
<?xml-stylesheet type="text/xsl" href="extended.xsl"?>
<xml-file href="data.xml" />
和我刪除部份行:
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
從數據。 xml
我希望能夠在閱讀view1.xml時使用overview.xsl讀取CD目錄,並在閱讀view2.xml時閱讀相同的CD目錄,但使用extended.xsl格式。
但它只是部分工作。不知何故,我的overview.xsl無法找到節點了。我獲得了一個標題爲ab html表但沒有數據的網頁。我想,我需要改變:
<xsl:for-each select="catalog/cd">
到別的東西。你有什麼主意嗎?
作爲信息,我試圖做到這一點,而不使用JavaScript來加載另一個xsl文件。
感謝您的幫助。 朱莉
嘗試'select =「// cd」'作爲測試。應該選擇所有'cd'元素,而不管文檔中的位置。如果失敗了,還有其他的錯誤。 – Torious 2012-04-15 18:17:47
感謝您的回覆。我得到相同的結果...其他的東西應該是錯的.. – julie 2012-04-15 19:21:54