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

XML/XSL et SOAP Discussion :

Camembert sous xsl


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut Camembert sous xsl
    Bonjour,

    J'ai dans un fichier html ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="transform(loadXML(nom), loadXML('index.xsl'), 'transform')">
    La page charge donc un fichier xml, et le met en forme par le biais d'un fichier xsl.

    J'aimerai maintenant pouvoir mettre en forme les données traitées dans le fichier xsl sous la forme d'un graphique et plus particulièrement d'un camembert.

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Le gros du boulot va se faire avec JavaScript, pas XML. Tu devrais trouver ce dont tu as besoin avec google html5 charts.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Je peux exécuter du code js dans un fichier xsl ?

    Car j'ai essayé en mettant les balises <script> et en faisant juste un alert() mais ça ne fonctionnait pas :/

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Non, le code doit être indépendant de XSL, il doit s'exécuter après que la transformation ait été faite, sur les données extraites par la transformation. Enfin, par exemple, mais tout dépend de la situation précise.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    J'ai un énorme fichier xml concernant des stats machines.

    Chaque page html fait appel à une feuille xsl pour chaque stats ( Analyse des arrêts, bilan de production, ... )

    Dans le cadre de mon stage, on me demande d'ajouter un camembert à ces interprétations.

    Donc la page html, fait un OnLoad sur la page xls. Mais je ne vois pas comment récupérer les informations délivrées par le xsl...

    Je n'avais jamais vu de fichier xml/xsl auparavant donc je suis un peu perdu

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Navré, mais tansform() et loadXML() sont inconnus au bataillon. Il faut demander à leurs auteurs comment on peut faire des trucs sur leurs résultats une fois qu'elles ont terminé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Voici le résultat du traitement xsl de mon fichier xml :

    Nom : HTML.JPG
Affichages : 218
Taille : 64,7 Ko

    Je voudrais avoir un graphe comme celui-ci :

    Nom : google_chart.JPG
Affichages : 243
Taille : 28,1 Ko

    Je veux donc récupérer le noms des arrêts sauf pour TOTAL ARRET et TOTAL ARRET AM car 100% et la durée totale de chacun.

    Mon code xsl :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     <table border="1" class="table3" align="center">
     
    		<caption><h3>Statistiques arrets</h3>
    		</caption>
    		<tr bgcolor="#FFFFFF">
    			<th colspan="6"></th>
    		<th bgcolor ="#1E90FF" colspan="6"> Durée (s)</th>
    		</tr>
    		<tr bgcolor="#1E90FF">
    			<th>Nom</th>
    			<th>Durée totale</th>
    			<th>%Tps total</th>
    			<th>Nombre</th>
    			<th>% Nombre</th>
    			<th>Temps Moyen</th>
    			<th bgcolor="#FF0066"><xsl:value-of select="/MACHINES/machine/@H1"/></th>
    			<th bgcolor="#FF9933"><xsl:value-of select="/MACHINES/machine/@H2"/></th>
    			<th bgcolor="#FFFF33"><xsl:value-of select="/MACHINES/machine/@H3"/></th>
    			<th bgcolor ="#FFFFFF"> Histogramme</th>
    		</tr>		
     
    	<xsl:for-each select="/MACHINES/Arrets/StatsArret/Arret[@Id != 'MAR']">
    		<xsl:sort select="@Temps" data-type="number" order="descending"/>
    			<tr>
    			<xsl:variable name="largeur" select="round(@pourcent)"></xsl:variable>
    			<xsl:variable name="lgNb" select="//Arrets/StatsArret/Arret[last()]/@NombreArret" />
    			<xsl:variable name="lg" select="round(number(@NombreArret) div number($lgNb)*100)" ></xsl:variable>
    				<xsl:variable name="color" select="@Couleur"></xsl:variable> 
    				<td>
    				<xsl:value-of select="@NomArret"/>
    			  </td>
     
    				<td><xsl:call-template name = "conversion-duree_ms">
    				<xsl:with-param name="duree" select="@Temps"/>
    				</xsl:call-template></td>
    			  	<td><div align="left">
     
    					<table width="{$largeur}"  border="0" cellspacing="0" cellpadding="0">
    						<tr>
    							<td  bgcolor="{$color}"><xsl:value-of select="$largeur" /></td>
    						</tr>
    					</table>
     
    				</div></td>
    				<td><xsl:value-of select="@NombreArret" />
    				</td>
    				<td><div align="left">
    					<table width="{$lg}"  border="0" cellspacing="0" cellpadding="0">
    						<tr>
    							<td  bgcolor="#FFFF00#">
    							<xsl:choose>
    								<xsl:when test=" number(@NombreArret) &lt; 10000 and $lg &gt; 30">
    								<xsl:value-of select="$lg" /></xsl:when>
    								<xsl:when test=" number(@NombreArret) &lt; 1000 and $lg &gt; 20">
    								<xsl:value-of select="$lg" /></xsl:when>
    								<xsl:when test=" number(@NombreArret) &lt; 100 and $lg &gt; 10">
    								<xsl:value-of select="$lg" /></xsl:when>
    								<xsl:otherwise>
    								<xsl:value-of select="$lg" />
    								</xsl:otherwise>
    							</xsl:choose>
    							</td>
    						</tr>
    					</table>
     
    				</div></td>		
    				<td><xsl:call-template name = "conversion-duree_ms">
    				<xsl:with-param name="duree" select="@ArretMoyen"/>
    				</xsl:call-template></td>
    				<td><xsl:value-of select="@H1" />
    				</td>
    				<td><xsl:value-of select="@H2" />
    				</td>
    				<td><xsl:value-of select="@H3" />
    				</td>
    				<td>
    				<table width="100" border="0" cellspacing="0" cellpadding="0">
    					<tr>
    						<xsl:variable name ="larg" select="round(number(@H1 div @NombreArret)*100)" ></xsl:variable>
    						<xsl:if test="round(number(@H1 div @NombreArret)*100) &gt; 0">
    						<td  width="{round(number(@H1 div @NombreArret)*100)}" bgcolor="#FF0066"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
    						</xsl:if>
    						<xsl:if test="round(number(@H2 div @NombreArret)*100) &gt; 0">
    						<td width="{round(number(@H2 div @NombreArret)*100)}" bgcolor="#FF9933"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
    						</xsl:if>
    						<xsl:if test="round(number(@H3 div @NombreArret)*100) &gt; 0">
    						<td width="{round(number(@H3 div @NombreArret)*100)}" bgcolor="#FFFF33"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
    						</xsl:if>
    						</tr>
    				</table>
    				</td>
    			  </tr>
    			<!--<</xsl:if>-->
    		</xsl:for-each>

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Super, mais le premier ressemble beaucoup à une image et pas du tout à du code exploitable. Pour être plus précis, la question serait, où se trouve le code exploitable, c'est important pour savoir comment y accéder.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Le code exploitable pour le graphique se trouve dans mon fichier xml.

    Le fichier xsl ne fait que le mettre en forme si j'ai bien compris.

    Le fichier xml étant de cette forme :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    <MACHINES debut="03/04/2014 05:00:01" fin="03/04/2014 13:00:00">
      <machine id="gardner_10233" Gr="FACE" H1="&gt;15mn" H2="&gt;6mn" H3="5à6mn">
        <EQUIPE Id="EQUIPE" Debut="03/04/2014 05:00:01" Fin="03/04/2014 13:00:00" TotalAM="21475900">
          <OPERATEUR Id="HUSSER DANIEL" Couleur="" Debut="03/04/2014 05:00:01" Fin="03/04/2014 12:30:40" CptProd="3757" CptRebut="44" CptA1="0" CptA2="4" TotalAM="17416700">
            <PHASE Id="" Couleur="" Debut="03/04/2014 05:00:01" Fin="03/04/2014 13:00:00" CptProd="3757" CptRebut="45" CptA1="0" CptA2="4" Article="" Mach="gardner_10233" Oper="HUSSER DANIEL" Art="" ArtDeb="03/04/2014 05:00:01" ArtFin="03/04/2014 12:30:40" />
            <ARTICLE Id="" Couleur="" Debut="03/04/2014 05:00:01" Fin="03/04/2014 12:30:40" CptProd="3757" CptRebut="44" CptA1="0" CptA2="4" TotalAM="17416700">
              <ARRET Nom="NETTOYAGE" Temps="48" Debut="03/04/2014 05:00:01.000" Fin="03/04/2014 05:00:01" Op="" Couleur="16711680" IdArret="AM" seuil="0" />
              <ARRET Nom="Chgt EQUIPE" Temps="1284052" Debut="03/04/2014 05:00:01.048" Fin="03/04/2014 05:21:26" Op="HUSSER DANIEL" Couleur="16711680" IdArret="AM" seuil="600000" />
              <ARRET Nom="MANQUE OPERATEUR" Temps="3925000" Debut="03/04/2014 05:21:25.100" Fin="03/04/2014 06:27:17" Op="HUSSER DANIEL" Couleur="255" IdArret="AM" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 06:27:48.000" Fin="03/04/2014 06:32:48" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="1487200" Debut="03/04/2014 06:32:48.000" Fin="03/04/2014 06:57:34" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 06:59:12.600" Fin="03/04/2014 07:04:12" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="97000" Debut="03/04/2014 07:04:12.600" Fin="03/04/2014 07:05:49" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 07:07:16.700" Fin="03/04/2014 07:12:16" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="394400" Debut="03/04/2014 07:12:16.700" Fin="03/04/2014 07:18:50" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="233800" Debut="03/04/2014 07:26:06.200" Fin="03/04/2014 07:30:00" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REPAS2" Temps="1826000" Debut="03/04/2014 07:30:00.000" Fin="03/04/2014 08:00:26" Op="HUSSER DANIEL" Couleur="9868950" IdArret="MAR" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 08:00:26.000" Fin="03/04/2014 08:05:26" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="2062500" Debut="03/04/2014 08:05:26.000" Fin="03/04/2014 08:39:48" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="33800" Debut="03/04/2014 08:41:27.900" Fin="03/04/2014 08:42:01" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="0" />
              <ARRET Nom="Rupt_ALIM" Temps="22700" Debut="03/04/2014 08:42:49.600" Fin="03/04/2014 08:43:12" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="0" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 08:45:17.600" Fin="03/04/2014 08:50:17" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <REB Id="Controle_Lg" Couleur="255" Debut="03/04/2014 08:54:19" Code="Auto" Nb="22" />
              <ARRET Nom="REGLAGE en prod" Temps="241867" Debut="03/04/2014 08:50:17.600" Fin="03/04/2014 08:54:19" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="60000" />
              <ARRET Nom="DRESSAGE" Temps="1531333" Debut="03/04/2014 08:54:19.467" Fin="03/04/2014 09:19:50" Op="HUSSER DANIEL" Couleur="65484" IdArret="AM" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 10:01:00.700" Fin="03/04/2014 10:06:00" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="2489900" Debut="03/04/2014 10:06:00.700" Fin="03/04/2014 10:47:30" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="600000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 10:52:01.200" Fin="03/04/2014 10:57:01" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="296100" Debut="03/04/2014 10:57:01.200" Fin="03/04/2014 11:01:57" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="122200" Debut="03/04/2014 11:02:58.100" Fin="03/04/2014 11:05:00" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 11:06:51.800" Fin="03/04/2014 11:11:52" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="REGLAGE en prod" Temps="79800" Debut="03/04/2014 11:11:51.800" Fin="03/04/2014 11:13:11" Op="HUSSER DANIEL" Couleur="39423" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="29500" Debut="03/04/2014 11:13:51.600" Fin="03/04/2014 11:14:21" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="0" />
              <ARRET Nom="Rupt_ALIM" Temps="96500" Debut="03/04/2014 11:16:19.400" Fin="03/04/2014 11:17:56" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="91000" Debut="03/04/2014 11:22:12.800" Fin="03/04/2014 11:23:44" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="103400" Debut="03/04/2014 11:24:52.300" Fin="03/04/2014 11:26:36" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="33600" Debut="03/04/2014 11:33:30.100" Fin="03/04/2014 11:34:04" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="0" />
              <ARRET Nom="Rupt_ALIM" Temps="61000" Debut="03/04/2014 11:34:43.700" Fin="03/04/2014 11:35:45" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <ARRET Nom="Rupt_ALIM" Temps="300000" Debut="03/04/2014 11:47:20.800" Fin="03/04/2014 11:52:21" Op="HUSSER DANIEL" Couleur="32768" IdArret="AM" seuil="60000" />
              <REB Id="Controle_Lg" Couleur="255" Debut="03/04/2014 12:30:40" Code="Auto" Nb="22" />
              <STAT_ARRET_ART Id="ARRETS AM">
                <Arret NomArret="NETTOYAGE" Temps="48" NombreArret="1" ArretMoyen="48" Couleur="#0000FF" Id="AM" pourcent="0.00" />
                <Arret NomArret="Chgt EQUIPE" Temps="1284052" NombreArret="1" ArretMoyen="1284052" Couleur="#0000FF" Id="AM" pourcent="7.37" />
                <Arret NomArret="MANQUE OPERATEUR" Temps="3925000" NombreArret="1" ArretMoyen="3925000" Couleur="#FF0000" Id="AM" pourcent="22.54" />
                <Arret NomArret="Rupt_ALIM" Temps="3527500" NombreArret="19" ArretMoyen="185657.89" Couleur="#008000" Id="AM" pourcent="20.25" />
                <Arret NomArret="REGLAGE en prod" Temps="7148767" NombreArret="8" ArretMoyen="893595.88" Couleur="#FF9900" Id="AM" pourcent="41.05" />
                <Arret NomArret="REPAS2" Temps="1826000" NombreArret="1" ArretMoyen="1826000" Couleur="#969696" Id="MAR" />
                <Arret NomArret="DRESSAGE" Temps="1531333" NombreArret="1" ArretMoyen="1531333" Couleur="#CCFF00" Id="AM" pourcent="8.79" />
                <Arret NomArret=" TOTAL ARRET AM" Temps="17416700" NombreArret="31" ArretMoyen="561829.03" Couleur="#C0C0C0" Id="AM_TOTAL" pourcent="100" />
              </STAT_ARRET_ART>
              <STAT_REB_ART Id="REBUTS" Nombre="2">
                <Reb Id="Controle_Lg" Nombre="44" Couleur="255" Code="Auto" />
              </STAT_REB_ART>
            </ARTICLE>
            <STAT_ARRET_OPER Id="ARRETS AM">
              <Arret NomArret="NETTOYAGE" Temps="48" NombreArret="1" ArretMoyen="48" Couleur="#0000FF" Id="AM" />
              <Arret NomArret="Chgt EQUIPE" Temps="1284052" NombreArret="1" ArretMoyen="1284052" Couleur="#0000FF" Id="AM" />
              <Arret NomArret="MANQUE OPERATEUR" Temps="3925000" NombreArret="1" ArretMoyen="3925000" Couleur="#FF0000" Id="AM" />
              <Arret NomArret="Rupt_ALIM" Temps="3527500" NombreArret="19" ArretMoyen="185657.89" Couleur="#008000" Id="AM" />
              <Arret NomArret="REGLAGE en prod" Temps="7148767" NombreArret="8" ArretMoyen="893595.88" Couleur="#FF9900" Id="AM" />
              <Arret NomArret="REPAS2" Temps="1826000" NombreArret="1" ArretMoyen="1826000" Couleur="#969696" Id="MAR" />
              <Arret NomArret="DRESSAGE" Temps="1531333" NombreArret="1" ArretMoyen="1531333" Couleur="#CCFF00" Id="AM" />
            </STAT_ARRET_OPER>
          </OPERATEUR>
          <OPERATEUR Id="RELINGER ALFRED" Couleur="16711935" Debut="03/04/2014 12:30:40" Fin="03/04/2014 13:00:00" CptProd="0" CptRebut="1" CptA1="0" CptA2="0" TotalAM="4059200">
            <ARTICLE Id="" Couleur="" Debut="03/04/2014 12:30:40" Fin="03/04/2014 12:31:34" CptProd="3757" CptRebut="44" CptA1="0" CptA2="4" />
            <ARTICLE Id="%" Couleur="12632256" Debut="03/04/2014 12:31:34" Fin="03/04/2014 13:00:00" CptProd="0" CptRebut="1" CptA1="0" CptA2="0" TotalAM="4059200">
              <ARRET Nom="REGLAGE en prod" Temps="3161311" Debut="03/04/2014 11:52:20.800" Fin="03/04/2014 12:45:02" Op="RELINGER ALFRED" Couleur="39423" IdArret="AM" seuil="600000" />
              <ARRET Nom="NETTOYAGE" Temps="897889" Debut="03/04/2014 12:45:02.111" Fin="03/04/2014 13:00:00" Op="RELINGER ALFRED" Couleur="16711680" IdArret="AM" seuil="600000" />
              <REB Id="Controle_Lg" Couleur="255" Debut="03/04/2014 13:00:00" Code="Auto" Nb="1" />
              <STAT_ARRET_ART Id="ARRETS AM">
                <Arret NomArret="REGLAGE en prod" Temps="3161311" NombreArret="1" ArretMoyen="3161311" Couleur="#FF9900" Id="AM" pourcent="77.88" />
                <Arret NomArret="NETTOYAGE" Temps="897889" NombreArret="1" ArretMoyen="897889" Couleur="#0000FF" Id="AM" pourcent="22.12" />
                <Arret NomArret=" TOTAL ARRET AM" Temps="4059200" NombreArret="2" ArretMoyen="2029600" Couleur="#C0C0C0" Id="AM_TOTAL" pourcent="100" />
              </STAT_ARRET_ART>
              <STAT_REB_ART Id="REBUTS" Nombre="">
                <Reb Id="Controle_Lg" Nombre="1" Couleur="255" Code="Auto" />
              </STAT_REB_ART>
            </ARTICLE>
            <STAT_ARRET_OPER Id="ARRETS AM">
              <Arret NomArret="REGLAGE en prod" Temps="3161311" NombreArret="1" ArretMoyen="3161311" Couleur="#FF9900" Id="AM" />
              <Arret NomArret="NETTOYAGE" Temps="897889" NombreArret="1" ArretMoyen="897889" Couleur="#0000FF" Id="AM" />
            </STAT_ARRET_OPER>
          </OPERATEUR>
        </EQUIPE>
        <DRESSAGE Id="00002222" Couleur="12632256" Debut="03/04/2014 08:54:19" Fin="03/04/2014 08:56:14" CptProd="0" CptRebut="0" CptA1="0" CptA2="1" />
        <DRESSAGE Id="00002222" Couleur="12632256" Debut="03/04/2014 08:56:14" Fin="03/04/2014 08:58:08" CptProd="0" CptRebut="0" CptA1="0" CptA2="1" />
        <DRESSAGE Id="00002222" Couleur="12632256" Debut="03/04/2014 08:58:08" Fin="03/04/2014 09:00:01" CptProd="0" CptRebut="0" CptA1="0" CptA2="1" />
      </machine>
      <Arrets>
        <Machine id="gardner_10233" Gr="FACE">
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="NETTOYAGE" Id="AM" Temps="897937" Couleur="16711680" NombreArret="2" H1="1" H2="0" H3="1" pourcent="4.18" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="Chgt EQUIPE" Id="AM" Temps="1284052" Couleur="16711680" NombreArret="1" H1="1" H2="0" H3="0" pourcent="5.98" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="MANQUE OPERATEUR" Id="AM" Temps="3925000" Couleur="255" NombreArret="1" H1="1" H2="0" H3="0" pourcent="18.28" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="Rupt_ALIM" Id="AM" Temps="3527500" Couleur="32768" NombreArret="19" H1="0" H2="15" H3="4" pourcent="16.43" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="REGLAGE en prod" Id="AM" Temps="10310078" Couleur="39423" NombreArret="9" H1="4" H2="5" H3="0" pourcent="48.01" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="REPAS2" Id="MAR" Temps="1826000" Couleur="9868950" NombreArret="1" H1="1" H2="0" H3="0" />
          <Arret Machine="gardner_10233" debut="05:00:01" datedebut="03/04/2014 05:00:01" NomArret="DRESSAGE" Id="AM" Temps="1531333" Couleur="65484" NombreArret="1" H1="1" H2="0" H3="0" pourcent="7.13" />
          <Arret NomArret=" TOTAL ARRET AM" Temps="21475900" NombreArret="33" ArretMoyen="650784.85" Couleur="#C0C0C0" Id="AM_TOTAL" />
        </Machine>
        <StatsArret>
          <Arret NomArret="NETTOYAGE" Temps="897937" NombreArret="2" ArretMoyen="448968.5" Couleur="#0000FF" H1="1" H2="0" H3="1" Id="AM" pourcent="4.18" />
          <Arret NomArret="Chgt EQUIPE" Temps="1284052" NombreArret="1" ArretMoyen="1284052" Couleur="#0000FF" H1="1" H2="0" H3="0" Id="AM" pourcent="5.98" />
          <Arret NomArret="MANQUE OPERATEUR" Temps="3925000" NombreArret="1" ArretMoyen="3925000" Couleur="#FF0000" H1="1" H2="0" H3="0" Id="AM" pourcent="18.28" />
          <Arret NomArret="Rupt_ALIM" Temps="3527500" NombreArret="19" ArretMoyen="185657.894736842" Couleur="#008000" H1="0" H2="15" H3="4" Id="AM" pourcent="16.43" />
          <Arret NomArret="REGLAGE en prod" Temps="10310078" NombreArret="9" ArretMoyen="1145564.22222222" Couleur="#FF9900" H1="4" H2="5" H3="0" Id="AM" pourcent="48.01" />
          <Arret NomArret="REPAS2" Temps="1826000" NombreArret="1" ArretMoyen="1826000" Couleur="#969696" H1="1" H2="0" H3="0" Id="MAR" pourcent="8.50" />
          <Arret NomArret="DRESSAGE" Temps="1531333" NombreArret="1" ArretMoyen="1531333" Couleur="#CCFF00" H1="1" H2="0" H3="0" Id="AM" pourcent="7.13" />
          <Arret NomArret=" TOTAL ARRET AM" Temps="21475900" NombreArret="33" ArretMoyen="650784.848484849" Couleur="#C0C0C0" H1="" H2="" H3="" Id="AM_TOTAL" pourcent="100" />
          <Arret NomArret="TOTAL ARRET" Temps="21475900" NombreArret="33" ArretMoyen="650784.85" Couleur="" H1="8" H2="20" H3="5" Id="AR_TOTAL" pourcent="100" />
        </StatsArret>
        <StatsArretArt />
        <StatsArretGr Id="FACE">
          <Arret NomArret="NETTOYAGE" Temps="897937" NombreArret="2" ArretMoyen="448968.5" Couleur="#0000FF" H1="1" H2="0" H3="1" Id="AM" pourcent="3.85" />
          <Arret NomArret="Chgt EQUIPE" Temps="1284052" NombreArret="1" ArretMoyen="1284052" Couleur="#0000FF" H1="1" H2="0" H3="0" Id="AM" pourcent="5.51" />
          <Arret NomArret="MANQUE OPERATEUR" Temps="3925000" NombreArret="1" ArretMoyen="3925000" Couleur="#FF0000" H1="1" H2="0" H3="0" Id="AM" pourcent="16.84" />
          <Arret NomArret="Rupt_ALIM" Temps="3527500" NombreArret="19" ArretMoyen="185657.894736842" Couleur="#008000" H1="0" H2="15" H3="4" Id="AM" pourcent="15.14" />
          <Arret NomArret="REGLAGE en prod" Temps="10310078" NombreArret="9" ArretMoyen="1145564.22222222" Couleur="#FF9900" H1="4" H2="5" H3="0" Id="AM" pourcent="44.25" />
          <Arret NomArret="REPAS2" Temps="1826000" NombreArret="1" ArretMoyen="1826000" Couleur="#969696" H1="1" H2="0" H3="0" Id="MAR" pourcent="7.84" />
          <Arret NomArret="DRESSAGE" Temps="1531333" NombreArret="1" ArretMoyen="1531333" Couleur="#CCFF00" H1="1" H2="0" H3="0" Id="AM" pourcent="6.57" />
          <Arret NomArret=" TOTAL ARRET AM" Temps="21475900" NombreArret="33" ArretMoyen="650784.848484849" Couleur="#C0C0C0" H1="" H2="" H3="" Id="AM_TOTAL" pourcent="92.16" />
          <Arret NomArret="TOTAL ARRET" Temps="23301900" NombreArret="34" ArretMoyen="685350" Couleur="" H1="9" H2="20" H3="5" Id="AR_TOTAL" pourcent="100" />
          <Arret NomArret="TOTAL REGLAGE" Temps="1531333" NombreArret="10" Couleur="" Id="AM_REGLAGE" pourcent="6.57" />
          <ListePhaGr Id="FACE">
            <PHASE Id="" Couleur="" Debut="03/04/2014 05:00:01" Fin="03/04/2014 13:00:00" CptProd="3757" CptRebut="45" CptA1="0" CptA2="4" Article="" Mach="gardner_10233" Oper="HUSSER DANIEL" Art="" ArtDeb="03/04/2014 05:00:01" ArtFin="03/04/2014 12:30:40" />
          </ListePhaGr>
        </StatsArretGr>
      </Arrets>
    </MACHINES>
    Merci de m'aider je suis vraiment à l'ouest sur tout sa, de plus aucune documentation n'est fournis...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Petit up ! Personne n'aurait des éléments de réponses à apportaient à mon problème ?

  11. #11
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    La question que j'ai posée, c'est comment on accède aux résultats de la transformation. Qu'est-ce que font transform() et loadXML(), quoi.
    Et si je l'ai posée, c'est parce que c'est comme ça que tu auras des données à donner à une bibliothèque de graphiques JavaScript.
    Le reste, ça nous avance pas.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Le transform() et le loadXML() charge la mise en page du fichier xml dans une div sur la page courante.

    Fichier html -> OnLoad -> Xsl qui met en forme du xml dans une div du html

    je ne récupère donc aucune données dans mon fichier html.

    Il est impossible de faire un graphe avec xsl ? Car j'ai réalisé ce bout de code en xsl :
    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
     
    <!--*********************** MODIF CAMEMBERT ************************-->
    <table border='2'>
     
    <!-- Pour chaque machine -->
    <xsl:for-each select="/MACHINES/Arrets/StatsArret/Arret[@Id != 'MAR'][@NomArret != 'TOTAL ARRET'][@NomArret != ' TOTAL ARRET AM']">
    <!-- On trie par rapport au temps totale -->
    <xsl:sort select="@Temps" data-type="number" order="descending" />
     
    <!-- On affiche le nom de l'arrêt -->
    <tr>
    <th>
    <xsl:value-of select="@NomArret"/>
    </th>
     
    <!-- On affiche le temps total d'arrêt -->
    <th>
    <xsl:call-template name = "conversion-duree_ms">
    <xsl:with-param name="duree" select="@Temps"/>
    </xsl:call-template>
    </th>
    </tr>
     
    </xsl:for-each>
     
    </table>
    <!--*********************** MODIF CAMEMBERT ************************-->
    Et c'est les informations que je veux dans mon camembert, c'est à dire le nom des arrêts et leurs durées.

  13. #13
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Kazumi Voir le message
    Le transform() et le loadXML() charge la mise en page du fichier xml dans une div sur la page courante.
    Super. Curieusement je m'en étais douté. Il le fait comment ? sont insérées les données obtenues ? Tu en as besoin.

    Citation Envoyé par Kazumi Voir le message
    je ne récupère donc aucune données dans mon fichier html.
    À mon humble avis le tableau que tu nous as montré ne s'est pas retrouvé là par l'opération du saint esprit. Les données sont bel et bien dans la page chargée, même si, admettons, pas dans le fichier HTML.

    Citation Envoyé par Kazumi Voir le message
    Il est impossible de faire un graphe avec xsl ? Car j'ai réalisé ce bout de code en xsl :
    Faire un graphe avec xsl n'est pas impossible à proprement parler, juste stupide. Il "suffit" de générer un SVG qui représente le graphe en question.

    Il vaudrait mieux extraire les données du graphe avec XSLT, pour ensuite générer le graphe avec autre chose. Ici, une bibliothèque de graphes JavaScript ça a l'air bien.
    Content pour toi que tu aies réussi à faire un code XSLT qui extrait ces données, mais il me semble que transform() s'en occupait déjà, donc je vois pas ce que ça t'apporte que tu n'avais pas avant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Super. Curieusement je m'en étais douté. Il le fait comment ? Où sont insérées les données obtenues ? Tu en as besoin.
    -> Le code n'est pas de moi, pas de documentation fournie, ni de commentaires. Tout ce que je peux te dire c'est que le résultat de ma page xsl vient se mettre dans un <div> de ma page html.

    À mon humble avis le tableau que tu nous as montré ne s'est pas retrouvé là par l'opération du saint esprit. Les données sont bel et bien dans la page chargée, même si, admettons, pas dans le fichier HTML.
    -> Oui les informations sont construit et obtenus par le biais du fichier xsl, donc dans la page chargée puisque la page html charge le contenu de ce fichier dans une <div> pour l'afficher.


    Maintenant, j'ai mon code XSLT qui me récupère les données qui m’intéresse pour mon camembert, quel est l'étape suivante ?

  15. #15
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Mettre ces données dans un tableau JavaScript, donner ce tableau à une bibliothèque de générations de graphes JavaScript.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    C'est justement cette étape qui me pose problème... Puisque je ne peux pas mettre de js dans mon code xslt, comment faire le lien entre les deux ?

  17. #17
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    La <div> qui contient les données. Tu vas y chercher les données. Avec getElementById() et tout le toutim.

    ... Enfin, si je commence à comprendre ton système, tu pourrais juste faire un tableau JavaScript avec ton XSL. Ce JavaScript se retrouvera alors visible dans la page, sauf que à ce moment-là un script va chercher son texte dans la page, le convertit en un vrai tableau avec JSON.parse(), et efface le texte. Ça évite une étape inutile, de convertir un tableau HTML en tableau JavaScript alors que tu pouvais faire le tableau JavaScript directement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Je ne vois pas du tout comment je pourrai récupérer des données de ma div avec js

    La div reçoit le résultat du fichier xsl, donc je ne peux pas être précis au niveau de mon getElementById...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var test = document.getElementById("transform").value;
    Je ne peux pas faire ce camembert avec xslt ? Ça serait tout de même plus simple dans mon système.

  19. #19
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Kazumi Voir le message
    Je ne vois pas du tout comment je pourrai récupérer des données de ma div avec js
    En apprenant JavaScript, peut-être ? Ça risque d'être important si tu veux faire du web.

    Citation Envoyé par Kazumi Voir le message
    La div reçoit le résultat du fichier xsl, donc je ne peux pas être précis au niveau de mon getElementById...
    S'il te manque des données d'identification, ajoute-les. Mais bon, la div elle-même ne devrait pas être difficile à trouver, et ce qui t'intéresse, c'est son contenu, avec nombres et labels. Je vois pas où est le problème.

    Citation Envoyé par Kazumi Voir le message
    Je ne peux pas faire ce camembert avec xslt ?
    XSLT produit du texte, pas des graphes. Un outil capable de transformer ce texte en graphe est donc inévitable. Alors ça peut être n'importe quoi, mais à mon avis le plus simple dans ton cas, c'est une bibliothèque de graphes JavaScript.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 120
    Points : 53
    Points
    53
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
     
    var test = document.getElementById("transform");
    document.write(test);
     
     
    </script>
    En faisant ce code tout bête, ça me retourne [object]. Comment puis-je corriger mon erreur pour obtenir l'ensemble du contenu ?

    Merci encore pour ton suivi thelvin

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Graphique camembert sous vba
    Par simpson79 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/02/2009, 11h20
  2. probléme pagination sous XSL-FO ?
    Par tarekos dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/08/2008, 16h46
  3. Le #DEFINE existe t'il sous XSL :)
    Par o0zzz dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 11/07/2008, 10h22
  4. Interpreter du CODE MathML sous XSL-FO
    Par tarekos dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/06/2008, 09h28
  5. Réponses: 6
    Dernier message: 31/01/2007, 10h19

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