IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Erreur partielle - Simplification Code ? [Débutant(e)]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut [XSLT] Erreur partielle - Simplification Code ?
    Bonjour,

    J'ai réalisé ce code qui me permet de faire la jointure entre EMPLOYE
    et PROJETce qui me permet de deterrminer un pourcentage de temps
    (classe Affecter) entre ces deux entités. Le code fonctionne pas totalement correctement. Sur l'ensemble des projets des emplyes il y a deux noms de projets qui ne s'affichent pas.
    Ce code me semble un peu complexe pour ce que je souhaite réaliser. Je pense que l'erreur provient de ca.

    Ce code peut-il être simplifié ? Comment puis-je faire ?

    Merci pour le coup de main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <td>
    <xsl:variable name="idEmpl" select="@IDEMPLOYE"/>	
    <xsl:for-each select="../../AFFECTERS/AFFECTER">	
     
    <xsl:variable name="refEmpl" select="REFEMPLOYE"/>			
    <xsl:variable name="refProj" select="REFPROJET"/>
     
    <xsl:if test="$idEmpl=$refEmpl">
     
    <xsl:for-each select="../../PROJETS/PROJET">
    	   <xsl:if test="@IDPROJET=$refProj">
    	      <xsl:value-of select="NOMPROJET"/>
    	   </xsl:if>
    	</xsl:for-each>
     
    <xsl:text disable-output-escaping="yes"> - </xsl:text>
    <xsl:value-of select="TEMPSPOURCENTAGE"/>
    <xsl:text disable-output-escaping="yes"> %</xsl:text>
     
    <br/>
     
    </xsl:if>
    </xsl:for-each>
    </td>

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    un exemple de xml serait mieux, je trouve tes xpaths comprehensible mais un peu bizarre, on peut neanmoins virer les if grace à des predicats, ca ameilorera la lisibilté et le nombre de cas traités
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <td>
    <xsl:variable name="idEmpl" select="@IDEMPLOYE"/>	
    <xsl:for-each select="../../AFFECTERS/AFFECTER[$idEmpl=REFEMPLOYE]">	
     <xsl:variable name="refProj" select="REFPROJET"/>
    <xsl:for-each select="../../PROJETS/PROJET[IDPROJET=$refProj]">
     
    	      <xsl:value-of select="NOMPROJET"/>
     
    	</xsl:for-each>
     
    <xsl:text disable-output-escaping="yes"> - </xsl:text>
    <xsl:value-of select="TEMPSPOURCENTAGE"/>
    <xsl:text disable-output-escaping="yes"> %</xsl:text>
     
    <br/>
     </xsl:for-each>
    </td>

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    Tout d'abord Merci pour le coup de main.

    Malheuresement il n'ya plus aucun noms de projets qui s'affichent. Les pourcentages s'affichent correctement mais plus aucun nom de projet.
    Il y a peut etre une erreur dans la structure de mon schema ?

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    ça bizarre tout ça peux tu stp envoyer l'xml sur lequel tu fais tes test? et pourquoi pas l'xsl qui va avec?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    Voici le fichier xslt, xml, schema
    Vider Car RESOLU

    Mercide ton aide

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    tu as deux erreures dans ton xml!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>100</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A1</REFEMPLOYE>
    			<REFPROJET>A4</REFPROJET>
    c plutot : <REFPROJET>P4</REFPROJET>
    		</AFFECTER>
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>40</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A2</REFEMPLOYE>
    			<REFPROJET>P1</REFPROJET>
    		</AFFECTER>
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>40</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A2</REFEMPLOYE>
    			<REFPROJET>P4</REFPROJET>
    		</AFFECTER>
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>20</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A3</REFEMPLOYE>
    			<REFPROJET>P2</REFPROJET>
    		</AFFECTER>
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>80</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A3</REFEMPLOYE>
    			<REFPROJET>P3</REFPROJET>
    		</AFFECTER>
    		<AFFECTER>
    			<TEMPSPOURCENTAGE>100</TEMPSPOURCENTAGE>
    			<REFEMPLOYE>A4</REFEMPLOYE>
    			<REFPROJET>A2</REFPROJET>
    c plutot : <REFPROJET>P4</REFPROJET>
    		</AFFECTER>
    et c'est ça qui pose le pb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans du code
    Par claralavraie dans le forum ASP
    Réponses: 4
    Dernier message: 23/12/2005, 09h32
  2. [VBA] Erreur dans un code. Hierarchie DAO.
    Par snoopy69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/10/2005, 22h28
  3. [ERREURS] Retrouvez le code
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 02/06/2005, 09h27
  4. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 21h47
  5. [VB.NET] Erreur conversion de code c=>vb (opendialogfile)
    Par hirochirak dans le forum Windows Forms
    Réponses: 19
    Dernier message: 02/06/2004, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo