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 :

[DTD] Peut imposer une liste enumeré pour la valeur d'un champ ? [FAQ]


Sujet :

Valider XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 3
    Points : 5
    Points
    5
    Par défaut [DTD] Peut imposer une liste enumeré pour la valeur d'un champ ?
    Bonjour à tous,

    après plusieurs recherches, je n'arrive toujours pas a savoir si il est possible d'imposer les valeurs d'un champ par une liste enuméré.

    J'ai vu qu'il etait possible de le faire assez facilement pour les attributs d'un champ mais pas pour sa valeur.

    ex =

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <champ1>valeur</champ1>
    j'aimerai definir dans ma DTD les valeurs que peut prendre Valeur
    Est ce possible?

    merci.

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    pourquoi pas un truc de ce style ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <!ELEMENT champ1 (val1|val2|val3|val4)>
    <!ELEMENT val1 EMPTY>
    <!ELEMENT val2 EMPTY>
    <!ELEMENT val3 EMPTY>
    <!ELEMENT val4 EMPTY>

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Salut Swoög,

    je voudrais faire la même chose que Thavi, et je me demande si ta solution ne va pas avoir comme resultat une balise entre les deux balise, du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <champ1><valeur\></champ1>
    Qu'en penses-tu ?

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    En effet, cependant, avec un DTD, c'est la seule solution possible...

    si tu veux mettre une vraie valeur en texte et pas un élément, il te faut te tourner vers les XSD...

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Ok, très bien, je vais voir si je peux utiliser ça.

    merci pour ton aide.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Salut,
    Dernière petite question, est-ce que l'utilisation d'un schema xml me dispense d'un DTD ? ou puis-je inclure les deux ?

    d'avance merci .

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Tu peux utiliser les deux sans soucis, mais tu peux aussi faire l'inverse, et je ne vois pas vraiment l'intêret de faire une DTD pour un XML qui a déjà un XSD

  8. #8
    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 Swoög
    Tu peux utiliser les deux sans soucis, mais tu peux aussi faire l'inverse, et je ne vois pas vraiment l'intêret de faire une DTD pour un XML qui a déjà un XSD
    Si, il y a un seul intérêt : la déclaration d'entités.

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Ok, très bien.

    merci pour ces infos.

    A +.

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Salut,

    J'aurai besoin à nouveau de quelques précisions,

    Suite aux recherches que j'ai faites sur le net, je n'ai pas bien saisie la différence entre le include et le import. Car je voudrais définir des types simples dans un schema puis le réutiliser dans d'autre (un peu comme une biblliothèque)

    De plus, en ce qui concerne le contrôle de la valeur comprise entre les balises, j'ai vu qu'on pouvait le faire avec des expressions régulières par l'intermédiare de la balise <xsd:pattern ...>. mais n'étant pas très à l'aise avec ce genre de chose, je voulais savoir si il n'y avait pas un autre moyen.

    Voici un exemple de ce que je voudrai faire,
    dans mes fichiers xml, certaines balises vont contenir des codes ou une autorisation et je voudrais que seul les codes utilisés soit autorisés et dans le cas des autorisations, seul le caractere 'O' ou 'N' ce qui me donnerai par exemple :

    (avec comme autre code possible CART, BOI par exemple)
    et que rien d'autre que ces 3 codes ne puisse être présent entre ces balises.

    et dans le cas des autorisations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <expediable>O</expediable>
    (ou N)

    existe t-il donc une balise permettant de limiter ces valeurs ?

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pas en DTD, ensuite, en XSD, tu as plusieurs syntaxes possibles (pattern, énumération, etc...)

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

Discussions similaires

  1. crée une liste déroulante pour une requete
    Par gastoncs dans le forum Access
    Réponses: 14
    Dernier message: 10/06/2008, 12h48
  2. Databinding sur une liste Enum
    Par Seth77 dans le forum C#
    Réponses: 4
    Dernier message: 07/09/2007, 12h07
  3. Réponses: 2
    Dernier message: 10/04/2007, 11h58
  4. Imposer une methode Equals pour une recherche dans une List
    Par petozak dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/10/2006, 10h41
  5. Réponses: 2
    Dernier message: 01/09/2006, 00h02

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