XLM.transforming HTML与XLS

时间:2014-12-05 20:12:14

标签: xml xslt

我需要帮助。

我有一个像这样的xml文件:

<conferences>
  <conference>
    <edition>
      <titre>Titre 1</titre>
      <date>2005</date>
    </edition>
</conference>
<conference>
    <edition>
      <titre>Titre 2</titre>
      <date>2004</date>
    </edition>
</conference>
<conference>
    <edition>
      <titre>Titre 1</titre>
      <date>2001</date>
    </edition>
</conference>
<conference>
    <edition>
      <titre>Titre 2</titre>
      <date>2001</date>
    </edition>
</conference>
<conference>
    <edition>
      <titre>Titre 3</titre>
      <date>2002</date>
    </edition>
</conference>
</conferences>

我想得到它:

Titre 1:2005 2001

Titre 2:2004 2001

Titre 3:2002

我有一个XSL文件。 我到达时没有像这样的标题重复:

 <xsl:key name="product" match="conferences/conference/edition/titre" use="." />
<xsl:template match="conferences">

<h1> Sommaire des conférences </h1>
<xsl:for-each select="conference/edition/titre[generate-id() = generate-id(key('product',.)[1])]">
    <p>
      <xsl:value-of select="."/>
    </p>
</xsl:for-each>
</xsl:template>

但我不知道如何查看日期,有人可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:0)

尝试:

<xsl:key name="product" match="conferences/conference/edition/titre" use="." />

<xsl:template match="/conferences">
    <h1> Sommaire des conférences </h1>
    <xsl:for-each select="conference/edition/titre[generate-id() = generate-id(key('product',.)[1])]">
        <p>
            <xsl:value-of select="."/>
            <xsl:for-each select="key('product', .)">
                <xsl:text> </xsl:text>
                <xsl:value-of select="../date"/>
            </xsl:for-each>
        </p>
    </xsl:for-each>
</xsl:template>