Avatar billede jonjagd Nybegynder
10. december 2002 - 13:52 Der er 1 kommentar og
1 løsning

Gruppering af elementer

Vi har et langt XML-dokument, der som følge af at det er et databaseudtræk, der er direkte omskrevet til XML, er en lang liste af elementer, i stedet for at have elementerne nested inde i hinanden (se nedenfor).

Vi har lavet et xsl-stylesheet, der viser elementerne i én lang tabel, med en række for hver Entitet-element og en kolonne for hvert element i Entitet-element. Problemet er at værdien af <EntitetsID> og andre elementer der går igen, kommer til at fremgå for hvert Entitet-element. Vi søger derfor en metode, der grupperer de Entitet-elementer, der har den samme EntitetsID og kun udskriver EntitetsID, EntitetsNavn, Klassenavn og KlasseID én gang. Elementerne der varierer indenfor elementer med den samme EntitetsID, skal derimod udskrives hver gang. Eks:

(nuværende og forkert)
6423 X1 Antal 2 klik her 
6423 X1 Vægt 8gram klik her 

(sådan som det gerne skulle være)
6434 X1 Antal 1 klik her 
        Vægt 1gram klik her 

<Entitet>
  <EntitetsID>2</EntitetsID>
  <EntitetsNavn>4271</EntitetsNavn>
  <KlasseNavn>Journalnummer</KlasseNavn>
  <KlasseID>2</KlasseID>
  <E_VariabelNavn>Matrikelnummer</E_VariabelNavn>
  <Værdi>11a</Værdi>
</Entitet>
<Entitet>
  <EntitetsID>2</EntitetsID>
  <EntitetsNavn>4271</EntitetsNavn>
  <KlasseNavn>Journalnummer</KlasseNavn>
  <KlasseID>2</KlasseID>
  <E_VariabelNavn>Sbnummer</E_VariabelNavn>
  <Værdi>13</Værdi>
</Entitet>
<Entitet>
  <EntitetsID>2130</EntitetsID>
  <EntitetsNavn>F1</EntitetsNavn>
  <KlasseNavn>Fotos</KlasseNavn>
  <KlasseID>6</KlasseID>
  <E_VariabelNavn>Diapositivnummer</E_VariabelNavn>
  <Værdi>D1</Værdi>
</Entitet>
Avatar billede Slettet bruger
10. december 2002 - 22:37 #1
Kan du lave output-eksemplet udfra det XML-fragment du har med? Er "Antal2" f.eks. en counter af Entitet elementer med EntitetID=6463? Og hvad er "X1"?

/CS
Avatar billede jonjagd Nybegynder
11. december 2002 - 10:35 #2
Antal er egenskaben og 2 er værdien af egenskaben. Egenskaben er den der hedder <E_VariabelVavn>. Men jeg har desværre udtrykt det lidt uklart da eksempeloutput'et selvfølgelig burde have refereret til de selvsamme værdier i XML-dokumentet, og det gør det ikke.

Vi har desuden fået løst problemet vha. af en xsl:choose med en xsl:when der skriver det hele ud når vi kommer til en ny værdi af <EntitetsID> og en xsl:otherwise der kun udskriver værdien af E_VariabelNavn> og <Værdi> når vi bevæger os inden for den samme <EntitetsID>. Men tak for tilbagemeldingen.
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