bonjour,
j'ai 2 doc xml, l'un appelé class.xml (contenant des groupements de livres par famille - ou classe-) et le deuxième, bookcase1.xml (qui contient les étagères de l'armoire).
le but est de peupler cette armoire avec les livres.
2 restrictions:
- les groupes de livres (ou classe) ne peuvent pas âtre découpés, un groupe doit entièrement appartenir à une seule étagère.
- les groupes on un typeID (1,2,3 qui représentent respectivement petit, moyen et grande taille). ces "types" doivent correspondre au "typeID" de l'étagère. un grand livre peut aller que dans les grandes étagères, tandis que le petit peut aller partout
d'un point de vue algorithmique, le principe est de prendre les groupes (de livres) de plus grand type et de plus grandes tailles (width) et on les met dans les grandes étagères. a chaque fois qu'on veut placer un nouveau groupe, on cherche l'étagère (qui au passage on tous une taille de 600) qui a un espace libre > taille des groupes, et on y met le groupe de livre.
les groupes de type moyens suivent le même principe, a par le fait qu'on puisse les caser dans les grande étagères et les moyennes.
pour finir les groupes de type petit peuvent être placés la ou il y a de la place.
la technique utilisé ici (pour remplir l'armoire) est largement suffisante pour aboutir au résultat. cependant, un problème de "XSLT" se pose:
je ne sais pas comment faire pour aboutir à un document xml qui aurait l'allure suivante:
merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <bookcase> <shelf id=1> <groupe id=XX /> <groupe id=xx /> ... <groupe id=XX /> <usedSpace>XXX/600</usedSpace> </shelf> <shelf id=2> ... </bookcase>![]()
Partager