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] Expression Regulière et intervalle


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [XSD] Expression Regulière et intervalle
    Bonjour,
    Voici mon probleme,

    Je souhaite représenter dans mon schema XML, un type couleur, se présentant sous forme RGB

    Ex Couleur RGB : 200,010,015

    J'arrive bien a vérifier avec une espression régulière que cette syntaxe soit respecter. Mais je souhaiterais verifier également que chaque valeur separer par virgule soit comprise entre 0 et 255.

    Voici déja un bout de code de ce que j'ia fait qui marche.

    J'ai un attribut couleur de fond :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xs:element name="barre">
          <xs:complexType>
                <xs:attribute name="back_color" use="optional" type="couleurs"/>
         </xs:complexType>
    </xs:element>
    Voici la définition de mon type couleurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xs:simpleType name="couleurs">
            <xs:restriction base="xs:string">
                <xs:pattern value="[0-9]{1,3},[0-9]{1,3},[0-9]{1,3}"/>
            </xs:restriction>
    </xs:simpleType>
    Quelqu'un aurais t'il une solution ??, svp merci

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

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

    pour spécifier un nombre entre 0 et 255 en regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [10]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]
    donc pour le spécifier trois fois, séparés par des virgules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([10]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]),([10]?[0-9]{1,2}|2[0-4][0-9]|25[0-5]),([10]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])
    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 :resolu: (en bas)

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

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

    Si tu as la possibilité dans ton XML d'avoir des espaces plutôt qu'une virgule pour séparer tes valeurs, il y a une autre solution beaucoup plus élégante...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,

    Si tu as la possibilité dans ton XML d'avoir des espaces plutôt qu'une virgule pour séparer tes valeurs, il y a une autre solution beaucoup plus élégante...
    Oui, j'avais pensé aux listes aussi, mais comme il n'y a pas moyen de reféfinir le séparateur (dommage )
    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 :resolu: (en bas)

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    On peut simplifier (un peu) l'expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xs:simpleType name="RGB">
      <xs:restriction base="xs:string">
        <xs:pattern value="(([01][0-9]{2}|2[0-4][0-9]|25[0-5]),){2}([01][0-9]{2}|2[0-4][0-9]|25[0-5])"/> 
      </xs:restriction>
    </xs:simpleType>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    [mode=HS]rassure moi, tu voulais à tout prix trouver quelque chose pour m'embêter ? [/mode]

    j'avais effectivement pas penser à factoriser le masque
    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 :resolu: (en bas)

Discussions similaires

  1. expressions reguliers pour un tester des chiffres
    Par Mobistar dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/08/2008, 14h41
  2. Les espaces avec les expressions reguliers
    Par kodo dans le forum Langage
    Réponses: 6
    Dernier message: 01/05/2007, 23h04
  3. Recuperation de mail à intervalle regulier
    Par xboulney dans le forum Access
    Réponses: 11
    Dernier message: 01/05/2006, 19h17
  4. Action à intervalle regulier
    Par P4dre dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 10/08/2005, 15h45
  5. [langage] expression regulier et test
    Par toto_titi dans le forum Langage
    Réponses: 5
    Dernier message: 16/07/2003, 17h41

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