The page doesnt display the movies what am I missing
Here is my XSL sheet
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="movie" match="movie" use="." />
<xsl:template match="/">
<html>
<head>
<title>Top American Comedies</title>
<link href="comedy.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h2>The Top American Comedy Films</h2>
<p>Number of Ballots:162</p>
<table>
<tr>
<th>Rank</th>
<th>Movie</th>
<th>Votes</th>
<th>%</th>
<xsl:for-each select="movie">
<tr>
<td>position</td>
<td>movie</td>
<td class="right" />
<td class="right" />
</tr>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Here is my XML code
<?xml-stylesheet type="text/xsl" href="comtxt.xsl" ?>
<poll>
<ballot id="b1">
<movie>A FISH CALLED WANDA (1988)</movie>
<movie>ADAM'S RIB (1949)</movie>
<movie>ANNIE HALL (1977)</movie>
<movie>BEING THERE (1979)</movie>
<movie>BORN YESTERDAY (1950)</movie>
<movie>CITY LIGHTS (1931)</movie>
<movie>DR. STRANGELOVE (1964)</movie>
<movie>GOOD MORNING, VIETNAM (1987)</movie>
<movie>HIS GIRL FRIDAY (1940)</movie>
<movie>M*A*S*H (1970)</movie>
<movie>MOONSTRUCK (1987)</movie>
<movie>NATIONAL LAMPOON'S ANIMAL HOUSE (1978)</movie>
<movie>SILVER STREAK (1976)</movie>
<movie>SOME LIKE IT HOT (1959)</movie>
<movie>THE GENERAL (1927)</movie>
<movie>THE GRADUATE (1967)</movie>
<movie>THE ODD COUPLE (1968)</movie>
<movie>THE SEVEN YEAR ITCH (1955)</movie>
<movie>TO BE OR NOT TO BE (1942)</movie>
<movie>WHAT'S UP, DOC? (1972)</movie>
</ballot>
<ballot id="b162">
<movie>A DAY AT THE RACES (1937)</movie>
<movie>ABBOTT AND COSTELLO MEET FRANKENSTEIN (1948)</movie>
<movie>AMERICAN GRAFFITI (1973)</movie>
<movie>BANANAS (1971)</movie>
<movie>BLAZING SADDLES (1974)</movie>
<movie>CADDYSHACK (1980)</movie>
<movie>DR. STRANGELOVE (1964)</movie>
<movie>GHOSTBUSTERS (1984)</movie>
<movie>HIS GIRL FRIDAY (1940)</movie>
<movie>IT'S A MAD MAD MAD MAD WORLD (1963)</movie>
<movie>MODERN TIMES (1936)</movie>
<movie>NATIONAL LAMPOON'S ANIMAL HOUSE (1978)</movie>
<movie>SHE DONE HIM WRONG (1933)</movie>
<movie>SOME LIKE IT HOT (1959)</movie>
<movie>开发者_运维问答THE AWFUL TRUTH (1937)</movie>
<movie>THE GRADUATE (1967)</movie>
<movie>THE ODD COUPLE (1968)</movie>
<movie>THE PRODUCERS (1968)</movie>
<movie>THIS IS SPINAL TAP (1984)</movie>
<movie>TOPPER (1937)</movie>
</ballot>
</poll>
Help would be great. I've been working on this for awhile now I have no idea what I have wrong.
To start with, you haven't explained what the transformation should produce, using what rules. Nor have you shown the expected, correct output.
Some observations:
The
<xsl:key>
instruction isn't used in your code and can safely be removed.This is obviously wrong:
<xsl:for-each select="movie">
. There is nomovie
child of the document node, so the XPath expression in theselect
attribute selects nothing -- therefore the code in the<xsl:for-each>
executes exactly 0 times.
Here is one guess, again:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Top American Comedies</title>
<link href="comedy.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h2>The Top American Comedy Films</h2>
<p>Number of Ballots:162</p>
<table>
<tr>
<th>Rank</th>
<th>Movie</th>
<th>Votes</th>
<th>%</th>
<xsl:for-each select="/*/*/movie">
<tr>
<td><xsl:value-of select="position()"/></td>
<td><xsl:value-of select="."/></td>
<td class="right" />
<td class="right" />
</tr>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
精彩评论