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] Creation d'un colspan dynamique


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut [XSLT] Creation d'un colspan dynamique
    Bonjour, je souhaite afficher un fichier XML que je filtre grace a JAva, VTL et XSL.

    Dans mon fichier XSL j'ai besoin de récuperer une veuleur permettant de déterminer le nombre que je vais devoir mettre dans le colspan.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		 <xsl:if test="Assignments/Assignment/Curve[@name='baseLine']!=''">
     
            		 <xsl:for-each select="Assignments/Assignment/Curve[@name='baseLine']/Segments/Segment">
              		  <td>
                 		  <xsl:value-of select="@start" />
              		  </td>
             		</xsl:for-each></xsl:if>
    La valeur de que je souhaite récupérer est la valeur max de segments dans cette boucle et la mettre dans un <td>. En disant je me rend compte que mon code n'est pas du tout optimisé

    Merci beaucoup d'avance

  2. #2
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    N'est-ce pas quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td colspan="{count(Assignments/Assignment/Curve[@name='baseLine']/Segments/Segment)}">...</td>

  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Non pas vraiment , en fait j'ai besoin de la taille max pour pouvoir ajuster le <td> du titre du tableau crée.
    Et puis il y a trois boucles de ce genre , et je dois tirer une seule valeur max des trois boucles .......... c'est pour ca que je suis un peu perdu

  4. #4
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    OK, ce serait plus facile d'avoir un exemple des données pour voir la complexité de la chose...
    En tout cas, il n'existe pas en standard de fonction max() en XSLT/XPath1.0 d'où l'obligation de faire des comparaisons une à une !

  5. #5
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Merci pour ta réponse.

    Alors les données traitées sont des dates, je fais trois boucles identiques a celle que j'ai mis plus haut pour englobé tous les cas : s'il n'y a pas de donnée a l'endroit indiqué par la premiere go dans la seconde et ainsi de suite pour la troisieme

    J'aimerais pouvoir mettre en palce un compteur et ressort le max de boucles faites pour les trois cas ==> Il me faut qu'un seul max.


    Merci d'avance!!

  6. #6
    Membre Expert Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Par défaut
    XSLT est un langage déclaratif et non pas procédural. En conséquence, les variables ne sont pas variables et l'on ne peut donc pas incrémenter un compteur au fil des traitements.

    Ce que l'on peut faire, par contre, ce sont des comptages :
    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
    <xsl:variable name="a" select="count(.....)"/>
    <xsl:variable name="b" select="count(.....)"/>
    <xsl:variable name="c" select="count(.....)"/>
    <xsl:variable name="max">
     <xsl:choose>
      <xsl:when test="$a &gt;= $b and $a &gt;= $c">
       <xsl:value-of select="$a"/>
      </xsl:when>
      <xsl:when test="$b &gt;= $c">
       <xsl:value-of select="$b"/>
      </xsl:when>
      <xsl:otherwise>
       <xsl:value-of select="$c"/>
      </xsl:otherwise>
     </xsl:choose>
    </xsl:variable>

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

Discussions similaires

  1. creation de page web dynamique
    Par noussaENSI dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 15/12/2005, 13h20
  2. [XSLT] creation de feuille xslt automatique
    Par jaxml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 15/12/2005, 00h26
  3. creation d'une fonction dynamiquement...
    Par bibile dans le forum Général Python
    Réponses: 2
    Dernier message: 04/08/2005, 10h38
  4. [syntaxe]Creation table avec nom dynamique
    Par ZuZu dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/09/2004, 18h01
  5. Creation d'une vue dynamique ?
    Par Simeans2004 dans le forum Administration
    Réponses: 5
    Dernier message: 01/07/2004, 15h25

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