我正在製作基本的聯繫人列表Web應用程序,其中包含三個頁面 - 聯繫人列表頁面,用於顯示數據庫中的所有聯繫人(存儲在XML文件中),聯繫人查看頁面(即顯示聯繫人信息的只讀頁面)和新建聯繫人頁面(允許您創建新聯繫人或編輯以前存在的聯繫人信息)。無法通過XSL變量和XPATH使XSL正確顯示
我的問題是與聯繫人視圖頁面。每個聯繫人都有一個ID,並且此ID通過URL傳遞(即contactViewer?id = mk)。使用這個ID,我希望使用一個簡單的xsl來檢查URL請求(保存在一個xsl變量中),以便從數據庫中選擇哪個聯繫人進行顯示。不幸的是,在添加「for-each」之後,頁面上沒有任何顯示,我無法弄清楚它出錯的地方。
這是ContactView的XSL頁面。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="url"/>
<xsl:variable name="currentID" select="substring-after($url, 'id=')"/>
<xsl:template match="/">
<html>
<head>
<title>Contact Database - Contact Viewer</title>
<style>
h1 {color:white; background-color:black; border-style:solid;
border-color: #981b1e; padding-left:10px; font-weight:bold;}
</style>
</head>
<body>
<h1>Contact Viewer</h1>
<xsl:value-of select="$currentID"/>
<xsl:for-each select="contactdatabase/contact/id[$currentID]">
<table cellspacing="5" border="3">
<tr height="60">
<td width="70px">
<xsl:value-of select="contactdatabase/contact/firstName"/>
</td>
<td width="100px">
<xsl:value-of select= "contactdatabase/contact/lastName"/>
</td>
<td width="120px">
<xsl:value-of select="contactdatabase/contact/firstName"/>
</td>
<td width="90px">
<xsl:value-of select="contactdatabase/contact/firstName"/>
</td>
<td width="35px">
<xsl:value-of select="contactdatabase/contact/state"/>
</td>
<td width="44px">
<xsl:value-of select="contactdatabase/contact/zipcode"/>
</td>
<td width="60px">
<xsl:value-of select="contactdatabase/contact/country"/>
</td>
<td width="80">
<xsl:value-of select="contactdatabase/contact/email"/> <br></br>
<xsl:value-of select="contactdatabase/contact/home"/> <br></br>
<xsl:value-of select="contactdatabase/contact/mail"/>
</td>
<td width="80">
<xsl:value-of select="contactdatabase/contact/phonenum"/>
</td>
<td width="180">
<xsl:value-of select="contactdatabase/contact/emailaddress"/>
</td>
<td width="120px">
<a href="contactViewer?contactid={id}">view</a>/edit/delete
</td>
</tr>
</table>
</xsl:for-each>
<a href="contactList">Contact List</a>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
的XML數據庫被設置爲
<contactdatabase>
<contact>
<firstName />
<lastName />
<address />
<city />
<state />
<zipcode />
<country />
<email />
<phone />
<mail />
<phonenum />
<emailaddress />
<comment />
<id />
</contact>
</contactdatabase>