2011年5月30日 星期一

Lab 37 XML (2)


其實我覺得一開始我就做錯了,但是是被表格的抹茶綠誘惑到嗎?我也不知道 = ='''
總之我一開始的想法是想要弄一個表格出來,但是沒有找到函式融合表格的資料,
所以......
我就把老師的xml跟xslt做了點變更(請原諒Orz
以下是xml的原始碼

  <?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
  -->   
-    <catalog>
-    <cd>
     <Team>Brazil</Team>
     <Played>3</Played>
     <Won>2</Won>
     <Drawn>0</Drawn>
     <Lost>1</Lost>
     <For>6</For>
     <Against>3</Against>
  </cd>
-    <cd>
     <Team>Scoland</Team>
     <Played>3</Played>
     <Won>0</Won>
     <Drawn>1</Drawn>
     <Lost>2</Lost>
     <For>2</For>
     <Against>6</Against>
  </cd>
-    <cd>
     <Team>Morocco</Team>
     <Played>3</Played>
     <Won>1</Won>
     <Drawn>1</Drawn>
     <Lost>1</Lost>
     <For>5</For>
     <Against>5</Against>
     </cd>
-    <cd>
     <Team>Norway</Team>
     <Played>3</Played>
     <Won>1</Won>
     <Drawn>2</Drawn>
     <Lost>0</Lost>
     <For>5</For>
     <Against>4</Against>
  </cd>
  </catalog>

其實我覺得這個方法蠻有趣的,之前寫過html,那時候做表格是就是扯到一堆tr跟td
但tr跟td呢?做為data,就要有一個骨架來承載他(我上一篇說的XD~~

所以骨架就在下面啦,th是指標題,關鍵是:<xsl:for-each select="catalog/cd">,
他會去檢查每一個位於catalog裡的每個cd的每份資料,只要每份資料的標籤
跟我xsl裡的每個<td></td>裡表明要吃的標籤一樣,那他就會一個一個放進來
,直到資料全被乘載完才方休!!!


<?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>
    <h2>Results of Group A</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Team</th>
        <th>Played</th>
        <th>Won</th>
        <th>Drawn</th>
        <th>Lost</th>
        <th>For</th>
        <th>Against</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="Team" /></td>
        <td><xsl:value-of select="Played" /></td>
        <td><xsl:value-of select="Won" /></td>
        <td><xsl:value-of select="Drawn" /></td>
        <td><xsl:value-of select="Lost" /></td>
        <td><xsl:value-of select="For" /></td>
        <td><xsl:value-of select="Against" /></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

到此結束,感覺上次的dom比較好玩>"<,感謝!!!

沒有留言:

張貼留言