我正在尝试将一个非常简单的xml文件格式化为一个非常简单的HTML表格。
我必须使用带有XSLT的外部CSS样式表。我遇到的问题是它没有将元素分成特定的行 - 例如一行中的所有日元素等等。它将它们全部放在一行中。我见过的其他例子将它们全部分成不同的行,所以我打赌我做了一些荒谬的事情。
感谢您的期待!
xml:这只是一部分。共有5条记录。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="forecast.xsl"?>
<forecast week="June 1st 2016"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="forecast.xsd">
<day>
<Weekday>Monday</Weekday>
<HiTemp>84</HiTemp>
<LoTemp>74</LoTemp>
<Wind>SSE 18 mph</Wind>
<Humidity>59%</Humidity>
<DewPoint>68 degrees</DewPoint>
<Visibility>10 miles</Visibility>
<UVIndex>4 of 10</UVIndex>
<Sunrise>6:01 AM</Sunrise>
<Sunset>8:49 PM</Sunset>
</day>
<day>
<Weekday>Tuesday</Weekday>
<HiTemp>89</HiTemp>
<LoTemp>77</LoTemp>
<Wind>NW 6 mph</Wind>
<Humidity>68%</Humidity>
<DewPoint>54 degrees</DewPoint>
<Visibility>8 miles</Visibility>
<UVIndex>6 of 10</UVIndex>
<Sunrise>6:03 AM</Sunrise>
<Sunset>8:51 PM</Sunset>
</day>
</forecast>
和我的xslt:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Weekly Forecast</title>
<link href="forecast.css"
rel="stylesheet" />
</head>
<body>
<h3>weekly Forecast</h3>
<table border="1">
<tr>
<th>Weekday</th>
<th>High Temp</th>
<th>Low Temp</th>
<th>Wind</th>
<th>Humidity</th>
<th>DewPoint</th>
<th>Visibility</th>
<th>UVIndex</th>
<th>Sunrise</th>
<th>Sunset</th>
</tr>
<tr>
<xsl:for-each select="forecast/day">
<td><xsl:value-of select="Weekday"/></td>
<td><xsl:value-of select="HiTemp"/></td>
<td><xsl:value-of select="LoTemp"/></td>
<td><xsl:value-of select="Wind"/></td>
<td><xsl:value-of select="Humidity"/></td>
<td> <xsl:value-of select="DewPoint"/></td>
<td><xsl:value-of select="Visibility"/></td>
<td><xsl:value-of select="UVIndex"/></td>
<td><xsl:value-of select="Sunrise"/></td>
<td><xsl:value-of select="Sunset"/></td>
</xsl:for-each>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
css非常基本:
body{background-color:teal;
margin:0 auto;
}
table {border: 3px solid black;}
th {font-weight:bold;
color:white;
font-size:14px;
display:block;}
tr {color:white;
font-size:14px;
display:block;}
答案 0 :(得分:0)
问题是<tr>
周围的</tr>
和<xsl:for-each>
标签属于里面的 <xsl:for-each>