我是XSL的新手,試圖爲我做一些有點複雜的事情,並尋求幫助。使用XSL構建HTML表格
這裏的XML是什麼樣子的例子:
<foo>
<customers>
<customer>
<title>Ms</title>
<name>
<firstName>Jane</firstName>
<lastName>Customer</lastName>
</name>
<reservations>
<reseration>
<reservationNumber>123</reservationNumber>
<reservationDate>2013-02-15</reservationDate>
<table>12</table
</reservation>
<reseration>
<reservationNumber>456</reservationNumber>
<reservationDate>2013-03-24</reservationDate>
<table>09</table
</reservation>
<reseration>
<reservationNumber>789</reservationNumber>
<reservationDate>2013-05-02</reservationDate>
<table>22</table
</reservation>
</reservations>
</customer>
<customer>
<title>Dr</title>
<name>
<firstName>John</firstName>
<lastName>Smith</lastName>
</name>
<reservations>
<reseration>
<reservationNumber>ABC</reservationNumber>
<reservationDate>2013-02-15</reservationDate>
<table>05</table
</reservation>
<reseration>
<reservationNumber>DEF</reservationNumber>
<reservationDate>2013-03-24</reservationDate>
<table>10</table
</reservation>
<reseration>
<reservationNumber>GHI</reservationNumber>
<reservationDate>2013-05-02</reservationDate>
<table>16</table
</reservation>
</reservations>
</customer>
</customers>
</foo>
我想結果表看起來像這樣:
Title Name Reservation Date Table
----- ---- ----------- ---- -----
Ms Jane Customer 123 2013-02-15 12
456 2013-03-24 09
789 2013-05-02 22
Dr John Smith ABC 2013-02-15 05
DEF 2013-03-24 10
GHI 2013-05-02 16
我知道如何建立一個表這種方式使用XSL for-each構建每一行。關於這一點棘手的是如何構建遞歸,將第一個子元素的預留細節(預留,日期和表格)拉到與第一行父元素相同的行中。然後只剩下剩餘行中剩餘子元素的預留詳細信息。
所以這個:
Title Name Reservation Date Table
----- ---- ----------- ---- -----
Ms Jane Customer 123 2013-02-15 12
456 2013-03-24 09
789 2013-05-02 22
不是這個:
Title Name Reservation Date Table
----- ---- ----------- ---- -----
Ms Jane Customer
123 2013-02-15 12
456 2013-03-24 09
789 2013-05-02 22
做了很多的搜索,並沒有看到任何東西完全是這樣。
UPDATE
這就是我能去上班
<xsl:for-each select="customers/customer">
<xsl:for-each select="./reservations/reservation">
<xsl:choose>
<xsl:when test="position() = 1">
<tr>
<td><xsl:value-of select="../../title"/></td>
<td><xsl:value-of select="reservationNumber"/></td>
</tr>
</xsl:when>
....
這就是我能去上班(簡稱例子)。感謝這兩個迴應。 \t \t的 的 \t' –
大!很高興你有它的工作。 –