首先,我的英语非常糟糕,但我希望有人能理解我的问题并能帮助我;)
我有以下xml文件
<fach>
<fachname>Content Management Systems</fachname>
<fachnummer>n/a</fachnummer>
<semester>summer14</semester>
<versuch>1</versuch>
<note>
5.0
</note>
</fach>
<fach>
<fachname>Content Management Systems</fachname>
<fachnummer>n/a</fachnummer>
<semester>winter15</semester>
<versuch>2</versuch>
<note>
3.3
</note>
</fach>
现在我们必须将其合并为HTML文件并在HTML表格中显示。但问题是。有两行。具有相同的名称,但其他值是不同的。
picture the the table 有两行。名称相同但其他值不同,我们必须在一行中设置所有值。
答案 0 :(得分:3)
在较高的层面上,本练习可能试图教你的概念是:
apply-templates
处理所有元素(此处为所有fach
元素)fach
的模板中的相对路径)来引用的子元素元素)apply-templates
来处理当前元素的所有子元素。我不会给你完整的XSLT,因为我希望你参加一门课程并且应该自己解决这个问题。但是如果我正在编写一个XSLT样式表来处理数据,比如你显示的数据,我会写三组模板:
fach
的父元素的模板,该元素将编写table
和tbody
元素,并调用xsl:apply-templates
以生成tbody
的内容{1}}元素。
fach
的模板,该模板将生成tr
元素,并调用xsl:apply-templates
以生成该行的内容。
fach
的每个可能子项的一个模板,或者match = "fachname | fachnummer | ... | note"
匹配模式的一个模板,它为表的一个单元格生成td
元素,调用xsl:apply-templates
来生成单元格的内容。
我希望这会有所帮助。