-2
我想弄清楚如何通過點擊表中的元素,在xml文件上使用xslt轉換來更改html頁面。 我環顧四周,找不到答案,這裏是一個簡單的代碼,我想知道如何更改頁面並顯示一些內容: 我認爲您不需要閱讀代碼,除了最後一個是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>
謝謝
您是否嘗試過搜索javascript/CSS解決方案以瞭解如何在鼠標點擊時顯示/隱藏信息? – erikxiv 2012-04-21 15:00:28
不,用xslt不行嗎? – John 2012-04-21 15:15:41
(我從來沒有使用JavaScript) – John 2012-04-21 15:16:16