[XSL] Key

Pagina: 1
Acties:

  • DanceTrend
  • Registratie: Maart 2001
  • Laatst online: 17-01 12:31
Hoi,

ik heb een dergelijk XML document:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<authors>
    <author>
        <name idd="VH" sort="Hugo">Victor Hugo</name>
        <born>
            <year>1802</year>
        </born>
        <died>
            <year>1885</year>
        </died>
        <nationality>Frans</nationality>
    </author>
    <author period="classical">
        <name idd="SO" sort="Sophocles">Sophocles</name>
        <born>
            <year>-496</year>
        </born>
        <died>
            <year>-406</year>
        </died>
        <nationality>Grieks</nationality>
    </author>
</authors>

en dan veel langer :P (als in meer authors). Nu moet ik het volgende doen, m.b.v. xsl:key. Eerst een lijst maken van alle jaartallen (dat is gelukt) en daarachter de gebeurtenissen per jaartal (dus born en died). De lijst moet er na XSL transformatie als volgt uitzien:

1802: Victor Hugo born; Pietje Puk died;
1820: Jan Smit died;

etc.

Maar dit wil dus niet lukken. Ik heb al zoiets van:
code:
1
<xsl:key name="jaren" match="born|died" use="year/text()"/>

Maar verder dan dit kom ik eigenlijk niet :( Kan iemand mij de juiste richting uitsturen? :D

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Je wilt een hashmap maken van jaren met daarin de auteurs die iets 'hadden' dat jaar. Dat kan dmv
code:
1
<xsl:key name="year" match="author" use="born/year|died/year" />


Vervolgens ga je dan in een template welke de year elementen matcht (distinct, je voorloop jaren, in je voorbeeld 1802, 1820 etc) de boel aflopen
code:
1
2
3
4
5
6
<xsl:template name="listEvents">
    <xsl:variable name="currYear" select="." />
    <xsl:for-each name="eventList" select="key('year', string($currYear))">
            <!-- match $currYear op het . (het huidige element) hier, om te zien of het een born of een died is -->
    </xsl:for-each>
</xsl:template>

Je moet geloof ik wel opschieten, ik dacht dat de deadline van dit ding morgen lag :P

  • DanceTrend
  • Registratie: Maart 2001
  • Laatst online: 17-01 12:31
Glimi schreef op woensdag 15 juni 2005 @ 16:06:
[knip]
Je moet geloof ik wel opschieten, ik dacht dat de deadline van dit ding morgen lag :P
Ja, maar heb maar besloten om m te skippen :X Toch bedankt :)

[ Voor 61% gewijzigd door DanceTrend op 15-06-2005 18:07 ]


Verwijderd

ja erg bedankt.. k skip hem namelijk niet :)