2016-08-07 11 views
1

非常に単純なXMLファイルを非常に単純なHTMLテーブルにフォーマットしようとしています。XMLをHTMLテーブルとしてフォーマットする

XSLTで外部CSSスタイルシートを使用する必要があります。私が遭遇している問題は、要素を特定の行に分割していないことです。たとえば、1行のすべての曜日要素など、すべてを1行に入れています。私が見た他の例は、それらをすべて個々の行に並べ替えるので、私はちょっとばかげたことをしました。

ありがとうございます!

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はかなり基本的なものです:

問題が <xsl:for-each>の周りにある <tr></tr>タグが を内側に属していることである
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

the <xsl:for-each>

関連する問題