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]xsl parsing + max


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 3
    Points
    3
    Par défaut [XSLT]xsl parsing + max
    voici mon xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <testResults version="1.1">
    	<sampleResult time="500" label="bla" threadName="Client truc 1-2"/>
    	<sampleResult time="565" label="bla" threadName="Client truc 1-1"/>
    	<sampleResult time="420" label="bli" threadName="Client bidule 1-3"/>
    	<sampleResult time="594" label="bli" threadName="Client machin 1-4"/>
    	<!--...-->
    </testResults>
    dans le threadName apparaît après le '-' le no du thread. J'aimerais utiliser cette info pour retrouver le nombre de threads (ie le max des no de threads) Est-ce possible avec xslt? (peut-on utiliser la fonction max pour ça?)

    merci bcp

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Je viens de vérifier dans la norme, il n'y a pas de fonction max...

    Je pense que le plus simple est encore de parcourrir tous tes noeuds puis d'extraire le maximum...

    cependant, le plus logique serait encore de rajouter un attribut noThread plutôt que de faire un attribut avec deux valeurs...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'ai déjà une fonction max dans le 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
    	<xsl:template name="max">
    		<xsl:param name="nodes" select="/.."/>
    		<xsl:choose>
    			<xsl:when test="not($nodes)">NaN</xsl:when>
    			<xsl:otherwise>
    				<xsl:for-each select="$nodes">
    					<xsl:sort data-type="number" order="descending"/>
    					<xsl:if test="position() = 1">
    						<xsl:value-of select="number(.)"/>
    					</xsl:if>
    				</xsl:for-each>
    			</xsl:otherwise>
    		</xsl:choose>
    	</xsl:template>
    sinon, je xml est généré par JMeter, je n'ai pas la main dessus. Pour le modifier, il faudrait patcher, à priori...

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    au niveau traitement de string, quelles fonctions de base utiliserais-tu pour récupérer le no de thread?

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    je pensais à substring-after... mais ça va te demander de modifier ta fonction max en conséquence je pense...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'ai réussi à faire ce que je voulais avec un template récursif. Par contre, j'ai peur du stack overflow si le nombre de lignes augmente...

    du coup, j'essaye de conserver la forme du template du max que j'ai : voici ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	<xsl:template name="numberOfThreads">
    		<xsl:param name="list_nodes" select="/.."/>
    		<xsl:for-each select="$list_nodes">
    			<xsl:sort data-type="number" select="substring-after(.,'-')" order="descending"/>
    			<xsl:if test="position() = 1">
    				<xsl:value-of select="substring-after(.,'-')"/>
    			</xsl:if>
    		</xsl:for-each>
    	</xsl:template>
    en terme de perfs, quelle est la meilleure forme?
    (récursif linéaire mais lourd en terme de stack vs nlog(n) pour le tri)

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    bon, en fait, la sélection est vite vue : le template récursif pète un stack overflow assez rapidement. je me suis donc rabattu sur le tri.

    en tout cas, merci bcp pour ton aide !

Discussions similaires

  1. [XSLT] XSL unique pour structure XML différente.
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/10/2006, 10h08
  2. [XSLT] xsl:import ou xsl:include
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/09/2006, 08h42
  3. [XSLT] Erreur parsing XSLT sur du javascript
    Par michaelbob dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/08/2006, 12h11
  4. [XSLT] <xsl:if> test sur plusieurs condition
    Par oxilab dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 30/06/2006, 20h30
  5. [XSLT] Xsl:number arrondi
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 15/06/2005, 10h55

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