Teng
05-18-2007, 03:55 PM
OK so i'm having problems with XML and XSL in passing data...
Heres my XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Students>
<Student id="2874377">
<StudentDetails>
<FirstName>Terry</FirstName>
<MiddleInitial>J</MiddleInitial>
<LastName>Adams</LastName>
<DateOfBirth>21/07/1988</DateOfBirth>
<Gender>M</Gender>
<Nationality>Australian</Nationality>
</StudentDetails>
</Student>
</Students>
Here's my HTML with javascript....
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Student Details</title>
</head>
<body>
<h1>Student Details</h1>
<script type="text/javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("Student.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("Home.xslt")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
And here's my 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>
<xsl:for-each select="//Student[@id='2874377']">
<table>
<tr>
<td><xsl:value-of select="StudentDetails/LastName"/><xsl:value-of select="StudentDetails/FirstName"/><xsl:value-of select="Student@id"/></td>
</tr>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
However it wont pass the data to the html file... whats wrong with it? Any help would be appreciated. Thanks
Heres my XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Students>
<Student id="2874377">
<StudentDetails>
<FirstName>Terry</FirstName>
<MiddleInitial>J</MiddleInitial>
<LastName>Adams</LastName>
<DateOfBirth>21/07/1988</DateOfBirth>
<Gender>M</Gender>
<Nationality>Australian</Nationality>
</StudentDetails>
</Student>
</Students>
Here's my HTML with javascript....
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Student Details</title>
</head>
<body>
<h1>Student Details</h1>
<script type="text/javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("Student.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("Home.xslt")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
And here's my 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>
<xsl:for-each select="//Student[@id='2874377']">
<table>
<tr>
<td><xsl:value-of select="StudentDetails/LastName"/><xsl:value-of select="StudentDetails/FirstName"/><xsl:value-of select="Student@id"/></td>
</tr>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
However it wont pass the data to the html file... whats wrong with it? Any help would be appreciated. Thanks