Bonjour tout le monde,
Je me penche actuellement sur une requete XPATH assez complexe (enfin, pour mon niveau) :
J'ai un xml de la forme suivante :
On le qualifiera de "plat" je l'avoue mais ca n'est pas de mon ressort =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <info....> <entete....> <detail....> <detail....> <entete....> <detail....> <entete....> <entete....>
J'ai modélisé un XMLSchema permettant de valider ce XML via un xsd:group défini de la sorte (<entete>,<detail>*).
Il me faut maintenant transformer cette structure de la maniere suivante :
Ici on epure les noeuds <entete> et <detail> du précédent XML mais on effectue également un tri des groupes (entete, detail*) selon plusieurs sous-noeud contenus dans <entete>. En plus, à chaque changement de la valeur de tri, on insere un noeud <pied> inspiré d'informations situées dans des sous noeuds de la derniere entete <entete>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <info2...> <entete2...> <detail2...> <detail2...> <entete2...> <detail2...> <pied2...> <entete2...>
Je parviens sans problème à trier les entetes, les grouper selon les facteurs de tri et à insérer le pied en fin de groupe, toutefois, je ne parviens pas, au sein de chaque noeud entete traité, à récupérer les noeud détail qui lui sont rattachés. A noter pour une réelle difficulté du problème, qu'il n'existe aucun lien fonctionnel reliant les noeuds <entete> de <detail>. Seul l'ordre défini l'appartenance d'un noeud <detail> a un noeud <entete>.
Je reste à disposition pour toutes questions ou précisions si c'est mal expliqué et je suis tout ouïe à vos propositions.
Merci d'avance pour votre aide !
Partager