Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1165 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de parser XML / XSLt - Doublons

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de parser XML / XSLt - Doublons

n°1593224
Akitounet
Posté le 30-07-2007 à 11:38:02  profilanswer
 

Bonjour tout le monde,
 
J'ai un petit problème concernant le parsing d'un de mes documents XML. Faisons court, faisons bien, voici la description de mon problème avec extrait des XML / XSLt.
 
J'ai une liste de sociétés. Chaque société possède différents types de licences. Mon probleme est que dans mon XML contenant les sociétés et les licences, une même licence peut-être spécifiée 2 fois, voici un exemple (mon XML) :
 

Code :
  1. <Record>
  2.     <NomSociete>Societe 1</NomSociete>
  3.     <Licence1>NomLicence1</Licence1>
  4.     <Licence2>NomLicence2</Licence2>
  5.     <Licence3>NomLicence1</Licence3>
  6. <Record>


 
Dans ma page web, je dois choisir le nom de la licence dans une listbox. Ensuite je dois parser mon XML avec en argument ce nom de licence et etablir une liste des sociétés possédant cette licence dans une autre listbox (générée avec un modele XSLt)
 
Voici mon modele XSLt de génération de liste :
 

Code :
  1. <xsl:template match="Synthese">
  2.         <select name="Societe" onchange="document.forms[0].submit();">
  3.         <xsl:for-each select="Record">
  4.             <xsl:choose>
  5.                 <xsl:when test="NomLicence=./$obj and ./NomSociete=$entreprise">
  6.                     <option selected><xsl:value-of select="./NomSociete"/></option>
  7.                 </xsl:when>
  8.                 <xsl:when test="NomLicence=./$obj">
  9.                     <option><xsl:value-of select="./NomSociete"/></option>
  10.                 </xsl:when>
  11.             </xsl:choose>
  12.         </xsl:for-each>
  13.         </select>
  14.     </xsl:template>


 
En gros le parsing se fait bien, la listbox se génère bien mais j'ai des doublons dans ma liste étant donné qu'un meme NomLicence peut-être spécifié 2 fois de suite dans le meme bloc XML.
 
J'aimerai supprimer ces doublons.
 
J'espere que j'ai été assez clair (ce n'est pas très facile à expliquer) et je vous remercie d'avance pour l'aide que vous pourrez m'apporter :-)
 
A bientot

mood
Publicité
Posté le 30-07-2007 à 11:38:02  profilanswer
 

n°1593236
masklinn
í dag viðrar vel til loftárása
Posté le 30-07-2007 à 12:04:59  profilanswer
 

Akitounet a écrit :

Bonjour tout le monde,
 
J'ai un petit problème concernant le parsing d'un de mes documents XML. Faisons court, faisons bien, voici la description de mon problème avec extrait des XML / XSLt.
 
J'ai une liste de sociétés. Chaque société possède différents types de licences. Mon probleme est que dans mon XML contenant les sociétés et les licences, une même licence peut-être spécifiée 2 fois, voici un exemple (mon XML) :
 
En gros le parsing se fait bien, la listbox se génère bien mais j'ai des doublons dans ma liste étant donné qu'un meme NomLicence peut-être spécifié 2 fois de suite dans le meme bloc XML.
 
J'aimerai supprimer ces doublons.
 
J'espere que j'ai été assez clair (ce n'est pas très facile à expliquer) et je vous remercie d'avance pour l'aide que vous pourrez m'apporter :-)
 
A bientot


C'est pas un peu complètement con?
 
Pourquoi la source est crade?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1593243
Akitounet
Posté le 30-07-2007 à 12:47:28  profilanswer
 

masklinn a écrit :


C'est pas un peu complètement con?
 
Pourquoi la source est crade?


 ?

n°1593268
masklinn
í dag viðrar vel til loftárása
Posté le 30-07-2007 à 13:29:30  profilanswer
 


Comment ça se fait que tu ais plusieurs fois la même license dans ton xml source...


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1593271
Akitounet
Posté le 30-07-2007 à 13:33:23  profilanswer
 

C'est voulu par la boite pour laquelle je bosse,c'est une contrainte de programmation...

n°1593295
masklinn
í dag viðrar vel til loftárása
Posté le 30-07-2007 à 14:13:56  profilanswer
 

Mouais...
 
Globalement, c'est un simple problème de grouping (tu crées des groupes en fonction du nom de license, tu itères sur tes groupes, et tu prends juste le premier élément de chaque groupe).
 
Le problème, c'est que selon la version de XSLT avec laquelle tu bosses, ça peut être trivial ou un cauchemard:
En XSLT 2.0 c'est trivial, suffit d'utiliser for-each-group avec les bonnes directives de grouping
En XSLT 1.0 par contre c'est bien merdique et bien pas pratique
 
Enjoy.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de parser XML / XSLt - Doublons

 

Sujets relatifs
Problème de comparaison de mots de passe MySQLProblème de div sous Firefox
problème de retour à la ligne dans htpasswd[XML] Insertion de balises
Problème pour écrire dans une table![FLASH/Action Script 2.0] Comment modifier un fichier XML
[Résolu] Problème de décalage de date java sous windows vista[SQL] Problème avec une petite requête et un DISTINCT.
Probleme bibliotheque partagée sous FireFox[HTML] probleme avec l'ouverture d'un popup
Plus de sujets relatifs à : Probleme de parser XML / XSLt - Doublons


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR