Ik ben relatief nieuw op .xml / .xslt gebied, en loop nu tegen een probleem aan waarvoor ik de oplossing niet echt kan vinden.
Stel ik heb de volgende .xml (stukje)
Oftewel elke samenstelling bestaat uit items, welke bestaan uit onderdelen welke bestaan uit subonderdelen, waarbij er aan die subonderdelen nog properties hangen. Ik weet niet hoeveel onderdelen of subonderdelen er zullen zijn, maar wel dat dit voor alle samenstellingen binnen het xml bestand dezelfde items/onderdelen/subonderdelen gelden.
Bijvoorbeeld de naam van alle onderdelen voor elk item binnen één xml is dus gelijk, en wil ik als kolomtitel gebruiken.
Nu wil ik dit bestand dmv. een .xls in een tabel presenteren, zodanig dat er boven de kolommen de titels staan, waarbij 'overkoepelende titels' gebruik maken van een rowspan.
Dat wil zeggen, de 1e regel uit de tabel bevat alleen de itemnamen, met een colwidth zodanig dat deze duidelijk voor alleen dat item geldt.
De 2e regel uit de tabel bevat alleen de onderdeelnamen, met een colwidth zodanig dat deze duidelijk voor dat onderdeel geldt
De 3e regel uit de tabel bevat alleen de subonderdeelnamen, met een colwidth zodanig dat deze duidelijk voor dat subonderdeel geldt
De 4e regel bevat de 'subonderdeel-waarde-namen' met colwidth=1.
en pas daarna komen de eigenlijke gegevens.
Je krijgt dan dus zo'n soort tabel:
Nu heb ik echt geen flauw idee waar te beginnen. M'n gegevens krijg ik wel in die kolommen, dat is het probleem niet. Maar hoe krijg ik de juiste titels boven de kolommen? Die titels zitten immers in de gegevens zelf..
Ik kan de hele set gewoon 2 keer doorlopen, en dan de 1e keer alleen de 'tabel-header' aanmaken en de 2e keer alleen de tabelinhoud, maar is er geen methode om dit in één keer te doen?
//edit
Ik hoop dat het probleem zo een beetje duidelijk omschreven is, kan er niet veel beters van maken.
Wat ik zelf gedaan heb: de xml en de xsl tutorial van W3C gevolgd, uren googlen, zoeken op GoT.. maar niets kunnen vinden wat dit probleem omschrijft.
//edit 2
ik verwacht geen panklare oplossing ofzo, zelfs niet perse voorbeeldcode.. zuiver een paar hints in welke richting ik moet gaan googlen, dan kom ik er zelf wel uit..
Stel ik heb de volgende .xml (stukje)
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <samenstelling> <samenstelling_naam>s1</samenstelling_naam> <item> <item_naam>item 1</item_naam> <item_onderdelen> <item_onderdeel> <item_onderdeel_naam>onderdeel 1</item_onderdeel_naam> <item_subonderdelen> <item_subonderdeel> <item_subonderdeel_naam>subonderdeel 1<item_subonderdeel_naam> <waarde_1>w1</subonderdeel_prop1> <waarde_2>w2</subonderdeel_prop2> </item_subonderdeel> <item_subonderdeel> <item_subonderdeel_naam>subonderdeel 2<item_subonderdeel_naam> <waarde_1>w3</subonderdeel_prop1> <waarde_2>w4</subonderdeel_prop2> </item_subonderdeel> <item_subonderdelen> </item_onderdeel> </item_onderdelen> </item> </samenstelling> <samenstelling> <samenstelling_naam>s2</samenstelling_naam> ... enzovoort |
Oftewel elke samenstelling bestaat uit items, welke bestaan uit onderdelen welke bestaan uit subonderdelen, waarbij er aan die subonderdelen nog properties hangen. Ik weet niet hoeveel onderdelen of subonderdelen er zullen zijn, maar wel dat dit voor alle samenstellingen binnen het xml bestand dezelfde items/onderdelen/subonderdelen gelden.
Bijvoorbeeld de naam van alle onderdelen voor elk item binnen één xml is dus gelijk, en wil ik als kolomtitel gebruiken.
Nu wil ik dit bestand dmv. een .xls in een tabel presenteren, zodanig dat er boven de kolommen de titels staan, waarbij 'overkoepelende titels' gebruik maken van een rowspan.
Dat wil zeggen, de 1e regel uit de tabel bevat alleen de itemnamen, met een colwidth zodanig dat deze duidelijk voor alleen dat item geldt.
De 2e regel uit de tabel bevat alleen de onderdeelnamen, met een colwidth zodanig dat deze duidelijk voor dat onderdeel geldt
De 3e regel uit de tabel bevat alleen de subonderdeelnamen, met een colwidth zodanig dat deze duidelijk voor dat subonderdeel geldt
De 4e regel bevat de 'subonderdeel-waarde-namen' met colwidth=1.
en pas daarna komen de eigenlijke gegevens.
Je krijgt dan dus zo'n soort tabel:
code:
1
2
3
4
5
6
7
8
9
10
11
| +-----------------+-----------------------------------------+ | samenstelling |item | | +-----------------------------------------+ | |onderdeelnaam 1 | | +--------------------+--------------------+ | |subonderdeel 1 |subonderdeel 2 | | +---------+----------+---------+----------+ | |waarde 1 | waarde 2 |waarde 1 | waarde 2 | +-----------------+---------+----------+---------+----------+ | s1 | w1 | w2 | w3 | w4 | | s2 | ......... enzovoort |
Nu heb ik echt geen flauw idee waar te beginnen. M'n gegevens krijg ik wel in die kolommen, dat is het probleem niet. Maar hoe krijg ik de juiste titels boven de kolommen? Die titels zitten immers in de gegevens zelf..
Ik kan de hele set gewoon 2 keer doorlopen, en dan de 1e keer alleen de 'tabel-header' aanmaken en de 2e keer alleen de tabelinhoud, maar is er geen methode om dit in één keer te doen?
//edit
Ik hoop dat het probleem zo een beetje duidelijk omschreven is, kan er niet veel beters van maken.
Wat ik zelf gedaan heb: de xml en de xsl tutorial van W3C gevolgd, uren googlen, zoeken op GoT.. maar niets kunnen vinden wat dit probleem omschrijft.
//edit 2
ik verwacht geen panklare oplossing ofzo, zelfs niet perse voorbeeldcode.. zuiver een paar hints in welke richting ik moet gaan googlen, dan kom ik er zelf wel uit..
[ Voor 38% gewijzigd door Verwijderd op 29-06-2004 11:52 ]
