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] faire un complexType


Sujet :

Valider XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut [XSD] faire un complexType
    Bonjour,
    je dispose d'un schéma XSD pour valider mes fichiers xml, mais je dois le modifier.
    Volà la partie que je dois modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xs:element name="customInteger">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="bitLength" type="xs:long"/>
                                <xs:group ref="range"/>
                                <xs:element name="noStatement" type="xs:long" minOccurs="0" maxOccurs="1"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
    Grâce à ce type, je peux valider des portions xml du type (mon range correspond aux baslises min et maxValue):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <customInteger>
                <bitLength>13</bitLength>
                <minValue>1</minValue>
                <maxValue>204775</maxValue>
                <noStatement>0</noStatement>
            </customInteger>
    Je voudrais modifier ce type pour valider des portions xml du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <customInteger>
                <bitLength>13</bitLength>
                <minValue>1</minValue>
                <maxValue>204775</maxValue>
                <noStatement>0</noStatement>
                <noStatement>1</noStatement>
                <noStatement>
                        <minValue>-180</minValue>
                        <maxValue>180</maxValue>
                </noStatement>
            </customInteger>
    Pour cela , j'ai modifié mon XSD de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xs:element name="customInteger">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="bitLength" type="xs:long"/>
                                <xs:group ref="range"/>
                                <xs:element name="noStatement" type="NoStatementType" minOccurs="0" maxOccurs="unbounded"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
    avec mon type NoStatementType:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xs:complexType name="NoStatementType">
            <xs:choice>
                <xs:group ref="range"/>
                <xs:element name="noStatement" type="xs:long"/>
            </xs:choice>
        </xs:complexType>
    Tout marche bien pour le range, mais fait comme çà, si je veux juste mettre un long, il faut que j'imbrique 2 balises noStatement tel que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <customInteger>
                <bitLength>13</bitLength>
                <minValue>1</minValue>
                <maxValue>204775</maxValue>
                <noStatement><noStatement>0</noStatement></noStatement>
            </customInteger>
    Pourriez vous m'aider à construire mon type NoStatementType?

    Si je me suis mal exprimé, n'hésitez pas à me demander des précisions.

    Merci d'avance de vos réponses.

    Nico

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    Personne n'a de piste pour moi ???
    Snif

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 43
    Points : 32
    Points
    32
    Par défaut
    ..

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    j'ai bien lu la réponse que tu m'as donnée, mais on m'a autorisé à modfier mon approche.
    Maintenant voilà ma xsd :
    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
    <xs:element name="customInteger">
        <xs:complexType>
    	<xs:sequence>
    		<xs:element name="bitLength" type="xs:long"/>
    		<xs:group ref="range"/>
    		<xs:element name="noStatement" maxOccurs="unbounded">
           			<xs:complexType>
    			<xs:choice>
    				<xs:element name="value" type="xs:long"/>
    				<xs:sequence>
    					<xs:element name="minValue" type="xs:long" minOccurs="1" maxOccurs="1"/>
    					<xs:element name="maxValue" type="xs:long" minOccurs="1" maxOccurs="1"/>
    				</xs:sequence>
    			</xs:choice>
    			</xs:complexType>
    		</xs:element>
    	</xs:sequence>
    </xs:complexType>
    </xs:element>
    En tout cas merci pour la réponse

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 43
    Points : 32
    Points
    32
    Par défaut
    dsl ma réponse ne marchait pas ^^

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

Discussions similaires

  1. [JAXB]Comment faire apparaitre dans le xsd une valeur par défaut pour un attribut
    Par Marcos Ickx dans le forum Persistance des données
    Réponses: 0
    Dernier message: 07/01/2010, 18h38
  2. Réponses: 1
    Dernier message: 03/09/2009, 00h56
  3. [XSD]Import Xsd comment faire?
    Par BelgianBrewer dans le forum Valider
    Réponses: 6
    Dernier message: 17/10/2008, 12h37
  4. [XSD] comment faire des tests sur des éléments
    Par attila771 dans le forum Valider
    Réponses: 1
    Dernier message: 11/10/2007, 12h32

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