Html XML样式表XSL,同一项的多个结构

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

这是我的xml部分:

<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>