2012-04-21 54 views
-1

我試圖找出如何與我的XSLT轉換更改頁面,通過點擊表中的元素。 我已經看了看周圍,並couln't找到答案,這裏是一個簡單的代碼,我想知道如何更改頁面和desplay東西: 我不認爲這是必要的,你看除了代碼最後一個是XSLT。我已經添加了代碼的其他部分,以防他們需要更改。XSLT變化頁

XSD:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" 
xmlns="http://www.w3schools.com"> 

<xs:element name="Table"> 
<xs:complexType> 
<xs:sequence maxOccurs="unbounded"> 
<xs:element ref="Person"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:element name="Person"> 
<xs:complexType> 
<xs:all maxOccurs="1"> 
<xs:element ref="Name"/> 
<xs:element minOccurs="1" ref="Age"/> 
</xs:all> 
</xs:complexType> 
</xs:element> 
<xs:element name="Name"> 
<xs:complexType> 
<xs:sequence> 
<xs:element maxOccurs="1" ref="theName"/> 
<xs:element maxOccurs="1" ref="Description"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:element name="theName" type="xs:string"/> 
<xs:element name="Description" type="xs:string"/> 
<xs:element abstract="false" name="Age" type="xs:positiveInteger"/> 
</xs:schema> 

所以我創建了兩個元素,theName和年齡。名稱由String TheName和String Description組成。年齡只是一個積極的整合。現在,我創建了只選擇兩個不同的人的XML文件:

XML:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="try.xsl"?> 
<Table xmlns="http://www.w3schools.com" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.w3schools.com try.xsd"> 
<Person> 
<Name> 
<theName>Thomas</theName> 
<Description>He is a nice guy</Description> 
</Name> 
<Age>10</Age> 
</Person> 

<Person> 
<Name> 
<theName>Peter</theName> 
<Description>He is good at swimming</Description> 
</Name> 
<Age>12</Age> 
</Person> 

</Table> 

我的轉型,現在是做一個表的人的名字在那裏年齡的功能:

XSLT:

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:ws="http://www.w3schools.com" 
version="1.0"> 

<xsl:template match="/"> 
<html> 

<table border="2"> 
<tr bgcolor="red"> 
<th>Name</th> 
<th>Age</th> 
</tr> 
<xsl:for-each select="ws:Table/ws:Person"> 
<tr> 

<td><xsl:value-of select="ws:Name/ws:theName"/></td> 
<td><xsl:value-of select="ws:Age"/></td> 

</tr> 
</xsl:for-each> 
</table> 

這是我需要幫助,我該如何改變這種狀況,我在去這只是顯示這個人的描述頁面上的網頁,我想這樣做通過點擊該人的姓名。我不想打開一個新窗口,只需更改頁面即可。

</html> 
</xsl:template> 
</xsl:stylesheet> 

回答

0

在您的XSLT代碼中,生成包含指向相關頁面超鏈接的HTML。這可能是一個傳統的<a href="...">超鏈接,或者用一個onclick屬性的元素。