[XSLT] Position d'un élément (élément non courant)

Position d'un élément (élément non courant) [XSLT] - XML/XSL - Programmation

Marsh Posté le 07-05-2008 à 11:02:04    

Bonjour à tous.
 
Je sollicite votre expérience en XSL pour me venir en aide.
J'explique un peu le contexte avant tout. J'aimerais faire un xsl pour des fichiers trx (export de tests nunit à partir de visual).
Voici grosso modo la structure du fichier trx (qui est un xml):
 

Code :
  1. - Tests
  2.    - TestRun
  3.       -tests
  4.          -key
  5.          -value
  6.          -key
  7.          -value
  8.          etc...
  9.    - UnitTestResult
  10.    - UnitTestResult
  11.    etc...


 
Pour chaque test unitaire, un couple de balise key/value va être créé (dans la balise tests). Key/Value contienne des infos sur les tests unitaire (identifiant, description, propriétaire etc.)
Pour chaque test unitaire sera aussi créé une balise UnitTestResult, qui contient les informations sur le déroulement du test (identifiant du test, résultat etc.).
 
Ce que je fais ds mon xsl, pour chaque UnitTestResult j'ecris une ligne de tableau contenant le nom du test, les eventuels messages d'erreurs etc. J'aimerais rajouter à cette ligne des infos disponibles dans la balise value (description par exemple). Le prob c'est que je n'arrive pas à y accéder.
 
C'est à ce moment que vous intervenez  :) .
 
Le problème vient plus de ma non-connaissance de xsl. Ce qu'il faudrait faire est (theoriquement assez simple). J'ai une variable id_test contenant l'id du test que je suis en train d'insérer ds le tableau. A partir de cet id, il faudrait que je puisse trouver la position d'une balise key contenant le meme id (donc la balise key correspondant au test) puis je chope la balise value a la meme position et le tour est joué.
 
Merci à tous pour votre aide

Reply

Marsh Posté le 07-05-2008 à 11:02:04   

Reply

Marsh Posté le 09-05-2008 à 13:22:44    

Voir la fonction position()...

Reply

Marsh Posté le 11-05-2008 à 18:17:52    

La fonction position() permet d'accèder à la position de l'élément courant.
Dans mon cas, j'aimerais avoir une fonction position() prenant en argument un élément et retournant la position de cet élément.

Reply

Marsh Posté le 14-05-2008 à 10:53:18    

Problème réglé.
 
Je n'ai pas trouvé comment récupérer la position d'un élément non courant. Donc j'ai feinté.  
 
Pour ce que ça intéresse, je fais juste une boucle sur toute les key en testant si l'id est le même que ma variable (id_test). Ensuite je récupère la position de la key ayant le même id. Je refais une boucle sur toutes les values en comparant la position avec la position récupérer de la key. Et à partir de là j'ai réussi à choper l'élément voulu.
 
Je ne voulais pas faire comme ça mais ça marche (c'est bien le principal). Par contre si quelqu'un a une idée, je suis toujours preneur.
 
Merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed