我試圖使用XSLT顯示大學課程時間表。我DTS看起來是這樣的:使用XSLT顯示時間表
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT timetable (day,day,day,day,day,day,day)>
<!ELEMENT day (session)*>
<!ELEMENT session (begin,end,(course?))>
<!ELEMENT course (#PCDATA)>
<!ELEMENT begin (#PCDATA)>
<!ELEMENT end (#PCDATA)>
我想顯示在天/小時表看起來像這樣所有的課程(原諒可怕的設計):
麻煩的是,我想要做一個for each
子句,但只是在常規數字上,而不是在xml的某些部分。這對XSLT來說可能嗎?例如,它可能會是這個樣子:
/* for each time = 8..17, do: */
<xsl:for-each select="timetable/day">
<xsl:value-of select="session[[begin</*time*/ or begin=/*time*/]/course" />
</xsl:for-each>
我不太明白如何訪問迭代變量。你能證明嗎? –
問題是表格和數據的渲染不相交。假設您無法填充表中的每個單元格都必須構建整個表格,然後使用日期和時間從XML文件中查找數據。 –