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

Valider XML Discussion :

[XSD]Créer structure de tableaux


Sujet :

Valider XML

  1. #1
    Membre régulier
    Avatar de blastobi
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Points : 112
    Points
    112
    Par défaut [XSD]Créer structure de tableaux
    Bonjour à tous !
    Voila mon soucis : je souhaiterai pouvoir créer des tableaux dynamiques en taille et en type. Je suis donc pour l'instant en train d'écrire le XML Schema.
    Par exemple, avoir un premier tableau ayant comme colonnes : "limit (Hz)" et "verdict" avec un nombre non prévu à l'avance de valeurs.
    Et un second tableau complétement différent "temps (seconde)", "finalisé (%)" et réussite là aussi avec un nombre non prévu de valeurs.
    Comme il y'aura des calculs à réaliser entre les différentes valeurs et normalement la génération d'un graphique, je souhaite réussir à mettre en place une structure souple et puissante. (mais pour un débutant, spas facile )
    J'espère avoir été assez clair sinon n'hésitez pas ^^

    Bon, voici le code que j'avais fait... Il est loin de remplir mes critères, je cherche donc à en refaire un.

    Merci d'avance.

    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
     
    <!-- tab list of values -->
    <xs:element name="tab" minOccurs="1" maxOccurs="unbounded">
       <xs:complexType>
           <xs:sequence>                                                
                <!-- tab title -->
                <xs:element name="title" minOccurs="0" maxOccurs="1" type="xs:string"/>                                          
                <!-- description of column : title + scale + limits + value list -->
                <xs:element name="column" minOccurs="1" maxOccurs="unbounded">
                   <xs:complexType>
                       <xs:sequence>
                           <xs:element ref="limit" minOccurs="0" maxOccurs="1"/>
                           <xs:element name="value" minOccurs="1" maxOccurs="unbounded" type="xs:anyType"/>
                       </xs:sequence>
                       <xs:attribute name="title" type="xs:string" use="required"/>
                       <xs:attribute name="scale" type="xs:string" use="optional"/>
                   </xs:complexType>
                 </xs:element>
     
            </xs:sequence>
         </xs:complexType> 
    </xs:element><!-- END of tab -->

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    qu'est-ce qui est dynamique, exactement ? Le nombre de lignes possibles, ou celui de colonnes ? Si ce sont les deux, tu as plusieurs possibilités, le choix d'une d'entre elles va dépendre des traitements que tu vas faire sur ton XML. Je te conseillerais, pour faciliter ces traitements, de t'inspirer de ce type de schéma :
    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
    <tableau>
      <colonnes>
        <colonne titre="limit (Hz)"/>
        <colonne titre="verdict"/>
      </colonnes>
      <lignes>
        <ligne>
          <cellule>100</cellule>
          <cellule>OK</cellule>
        <ligne>
        <ligne>
          <cellule>200</cellule>
          <cellule>Wrong</cellule>
        <ligne>
        ...
      </lignes>
    </tableau>
    Par ailleurs, évite le xs:anyType : il vaut mieux prendre un xs:string, très permissif mais qui n'autorise pas non plus n'importe quoi.

  3. #3
    Membre régulier
    Avatar de blastobi
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Points : 112
    Points
    112
    Par défaut
    Merci pour tes conseils GrandFather.
    Pour répondre à ta question, le tableau peut être dynamique en colonne et ligne. Et le typede chaque colonne (ex: limit, verdict, etc...) n'est pas fixe.

    Je vais plancher sur la structure que tu me proposes
    Le soucis que je me pose, peut être à tort, c'est la capacité de traiter un tableau avec le XSLT par la suite. Par exemple récupérer toutes les valeurs de la colonne "verdict". Il y'a t'il besoin d'utiliser un attribut ID (par exemple) pour attacher ensemble les éléments communs? (pas sûr d'être clair là... )

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par blastobi
    Le soucis que je me pose, peut être à tort, c'est la capacité de traiter un tableau avec le XSLT par la suite. Par exemple récupérer toutes les valeurs de la colonne "verdict". Il y'a t'il besoin d'utiliser un attribut ID (par exemple) pour attacher ensemble les éléments communs? (pas sûr d'être clair là... )
    Non ce n'est pas nécessaire, avec XPath tu peux sélectionner explicitement la deuxième cellule de chaque ligne, et tu peux même, toujours avec XPath, sélectionner toutes les cellules dont le rang est le même que celui de la colonne dont le titre est "Verdict", ce qui laisse beaucoup de liberté dans la structure du tableau.

  5. #5
    Membre régulier
    Avatar de blastobi
    Inscrit en
    Avril 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 89
    Points : 112
    Points
    112
    Par défaut
    Wahou merci beaucoup pour toutes ces informations !
    Je cherchai compliqué là où c'était simple ^^
    Sujet résolu

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

Discussions similaires

  1. structures et tableaux
    Par LostInGeekLand dans le forum Débuter
    Réponses: 14
    Dernier message: 24/07/2009, 13h15
  2. probleme pour structure et tableaux
    Par yassin123441 dans le forum C++
    Réponses: 1
    Dernier message: 18/06/2008, 02h11
  3. Type Structuré et Tableaux
    Par Aurazed dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 30/05/2007, 23h45
  4. [C++/CLI]Structures et tableaux en C++ .NET
    Par kinouseb dans le forum C++/CLI
    Réponses: 2
    Dernier message: 08/12/2006, 15h01
  5. Structures et tableaux, la galère
    Par kameha dans le forum C
    Réponses: 10
    Dernier message: 05/01/2006, 18h31

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