Html XML样式表XSL,同一项的多个结构
这是我的xml部分:Html XML样式表XSL,同一项的多个结构,html,xml,xslt,Html,Xml,Xslt,这是我的xml部分: <record> <BillNum>999</BillNum> <Item>Glasses</Item> <Price>100</Price> </record> <record> <BillNum>999</BillNum> <Item>Book</Item> <Price&g
<record>
<BillNum>999</BillNum>
<Item>Glasses</Item>
<Price>100</Price>
</record>
<record>
<BillNum>999</BillNum>
<Item>Book</Item>
<Price>50</Price>
</record>
<record>
<BillNum>999</BillNum>
<Item>Shoes</Item>
<Price>500</Price>
</record>
999
玻璃杯
100
999
书
50
999
鞋
500
现在,我想为这个xml编写xsl,它的样式如下:
<table>
<tr>
<td>Item</td>
<td>Price</td>
</tr>
<tr>
<td>Glasses</td>
<td>100</td>
</tr>
<tr>
<td>Book</td>
<td>50</td>
</tr>
<tr>
<td>Shoes</td>
<td>500</td>
</tr>
</table>
项目
价格
玻璃杯
100
书
50
鞋
500
对于每一个BillNum
请帮助我,如何编写所需的xsl
谢谢
XSLT1.0中的分组问题是使用带键的Muenchian分组来解决的
<xsl:key name="bill" match="record" use="BillNum"/>
及
项目
价格
然后使用如下模板设置HTML文档结构
<xsl:template match="/">
<html>
<head>
<title>Example</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
例子
您想使用XSLT 2.0还是1.0?您想为所有数据创建一个表,还是为具有相同BillNum的每组记录创建一个表?@MartinHonnen XSLT 1.0,我想为具有相同BillNum的每组记录创建一个表。这在IE中提供了正确的表格式,但在Firefox中,它是以简单的文本格式显示的:ItemPriceGlasses100Book50Shoes500我已经发布了一些片段,这些片段需要合并到一个完整的样式表中,以确保浏览器知道您正在创建HTML输出,方法是将
放入其中,或者让模板创建HTML
根元素。我将进行编辑以显示这一点。现在firefox显示的是正确的表格,但Chrome显示的是空白页:(如何在Chrome中加载XML?对于从文件系统加载的文件,它有非常严格的安全设置,例如禁用
。因此,使用Chrome时,请确保通过HTTP加载XML文档,或使用较低的安全设置启动Chrome,否则它将永远不会加载XML文档中引用的XSLT。请检查。)它的错误控制台是否显示了解释空白页的任何东西。在记录的模板中使用<代码>求和(键(“Bar”,BillNum)/价格)< /代码>将计算组中所有项的所有价格元素之和。
<xsl:template match="/">
<html>
<head>
<title>Example</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>