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 :

groupement optimisé de séquence pour table de taille n [Sources]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut groupement optimisé de séquence pour table de taille n
    Bonjour,

    J'ai un ensemble de noeuds :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <x:row type='1'/>        1 élément @type='1'
    <x:row type='2'/>        pour x éléments @type='2'
    <x:row type='empty'/>        et 1 élément @type='empty'
     
    etc. cela se répète y fois.
    Je cherche à placer un maximum d'ensemble de noeuds du type 1, 2 et empty dans un tableau de n lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <x:table nombreDeLignes="n">
    <x:row type='1'/>        1 élément @type='1'
    <x:row type='2'/>        pour x éléments @type='2'
    <x:row type='empty'/>        et 1 élément @type='empty'
    </x:table>
    En vous remerciant de votre aide

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Un maximum ? C'est-à-dire, chaque répétition de l'ensemble montré doit se retrouver encadré de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <x:table nombreDeLignes="n">...</x:table>
    ?
    Autrement dit, il y aurait y éléments <x:table> ?

    Si c'est le cas, c'est un de ces cas chiants.
    Une manière de le voir est de faire un Muench, dont le match porte sur <x:row> et le use porte sur un generate-id() du <x:row type="1"> qui commence la séquence.
    Pas évident mais ça se fait.

    Attention toutefois, j'ai déjà essayé de faire ce genre de trucs avec le moteur XSLT de base de Java, et il y a une anomalie quand on se sert de generate-id() dans le use, du coup ça ne marche pas.
    Avec Saxon ça passe très bien.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    tu pourrais donner un exemple plus parlant parce que je ne comprends pas du tout le problème

  4. #4
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Voici un exemple plus concret :

    Mon ensemble de noeuds :
    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
     
    <!-- Premier sous-ensemble composé de 4 éléments -->
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='empty'/>    
     
    <!-- Deuxième sous-ensemble composé de 3 éléments -->
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='empty'/>  
     
    <!-- Troisième sous-ensemble composé de 6 éléments -->
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='empty'/>  
     
    <!-- Quatrième sous-ensemble composé de 5 éléments -->
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='2'/>        
    <x:row type='empty'/>
    Et voici le résultat que je doit obtenir :

    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
     
    <!-- Dans ce premier tableau, je peux insérer les deux premiers sous-ensembles de noeuds, mais pas le troisième sous-ensemble. 
    En effet, le premier sous-ensemble comprend 4 éléments et on a 4 <= 7, 
    pour le deuxième ensemble de noeuds, on a 4 + 3 <= 7,
    mais pour le troisième sous-ensemble, on a 4 + 3 + 6 > 7. -->
    <x:table nombreDeLignes="7">
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='empty'/>        
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='empty'/>  
    </x:table>
     
    <!-- Dans ce deuxième tableau, je ne peux insérer que 
    le troisième sous-ensemble de noeuds puisque 6 <= 7 
    et que le quatrième sous-ensemble est trop grand 
    puisque on a 6 + 5 > 7 -->
    <x:table nombreDeLignes="7">
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='empty'/>  
    </x:table>
     
    <!-- Finalement, j'insère le quatrième sous-ensemble de noeuds dans un dernier tableau puisqu'il ne pouvait être contenu dans le tableau précédant -->
    <x:table nombreDeLignes="7">
    <x:row type='1'/>        
    <x:row type='2'/>        
    <x:row type='2'/> 
    <x:row type='2'/>        
    <x:row type='empty'/>  
    </x:table>
    J'ai bien entendu penser à Muench, mais sans avoir pu trouver de résultat !

  5. #5
    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 : 48
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Par défaut
    tes regroupements sont traités de façon séquentielle ou "optimisé" (minimum de table par exemple) ?

    Pas du tout du muench là en tout cas, même pas sur que les clés nous servent à quelque chose

  6. #6
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Je dois obtenir un minimum de tableau, dit d'une autre façon, je dois mettre un maximum de sous-ensembles par tableau

Discussions similaires

  1. InsertCommand pour table avec ID obtenue d'une séquence
    Par rikidude dans le forum Windows Forms
    Réponses: 0
    Dernier message: 21/09/2009, 16h42
  2. Pb pour changer la taille d'un Objet TImage dans une Form
    Par Gouyon dans le forum C++Builder
    Réponses: 10
    Dernier message: 06/06/2006, 18h01
  3. definir chemin pour table liée
    Par branqueira dans le forum Access
    Réponses: 4
    Dernier message: 22/10/2005, 13h44
  4. select pour obtenir la taille de remplissage d'une bdd
    Par sqlakf76 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 15/07/2005, 13h44
  5. [Séquences] Pour récupérer la dernière valeur
    Par tnodev dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 24/05/2005, 11h35

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