Avatar billede hobz Nybegynder
31. marts 2003 - 22:31 Der er 1 kommentar og
2 løsninger

Kategorisering af XML

Jeg har følgende kode:

<xml id="afdelinger">
<table>
<item>
<navn>NAVN1</navn>
<kategori>TV</kategori>
</item>
<item>
<navn>NAVN2</navn>
<kategori>TV</kategori>
</item>
<item>
<navn>NAVN3</navn>
<kategori>RADIO</kategori>
</item>
</table>
</xml>

<table border="1" datasrc="#afdelinger">

<tr>
<td><span datafld="navn"></span></td>
<td><span datafld="esport"></span></td>
</tr>

</table>

Hvordan kan jeg inddele dataen efter hvilken kategori de står i (skal se ud som følger, i html)?

TV    RADIO
NAVN1  NAVN3
NAVN2
Avatar billede janegil Nybegynder
01. april 2003 - 09:32 #1
Du har da ikke lov å kalle noe elemnt for "xml", men hvis jeg døper det om til "x", så er stilarket:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <table>
            <xsl:apply-templates select="x/table/item">
                <xsl:sort select="kategori"></xsl:sort>
            </xsl:apply-templates>
        </table>
    </xsl:template>
    <xsl:template match="item">
        <tr>
            <td>
                <xsl:value-of select="kategori"></xsl:value-of>
            </td>
            <td>
                <xsl:value-of select="navn"></xsl:value-of>
            </td>
        </tr>
    </xsl:template>
</xsl:stylesheet>
Avatar billede janegil Nybegynder
01. april 2003 - 09:41 #2
oops, feil svar, du vil ha tabellen sortert på tvers, det er jo verre...

først telle opp antall i hver kategori og finne max, lage en liste over alle kategorier som er brukt, for 1..max liste opp det n'te item i hver kategori.

Ser ikke for meg noen elegant løsning i XSLT, du skal bl.a. ha en variable som inneholder ett elemet for hver kategori, er jeg redd?

Tror ikke jeg gidder å programmere det stygt, la oss vente til noen lar seg inspirere til en vakker løsning.
Avatar billede hobz Nybegynder
01. april 2003 - 11:37 #3
Okaj, det er ik så effektivt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester