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 :

Référence à un ID


Sujet :

Valider XML

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 65
    Points : 52
    Points
    52
    Par défaut Référence à un ID
    Bonjour à tous,

    Dans le but de valider des documents XML, j'aurai voulu savoir si il était possible de faire une référence sur une valeur d'un attribut.

    Concrètement, j'ai des états avec une valeur numérique dans l'attribut ID. Dans ces états, il y a des fils qui ont pour but d'indiquer une transition vers un autre état. J'aimerai pouvoir mettre ici une référence pour être sûr que l'ID indiqué dans le fils correspond bien à un ID existant dans un state.

    Comme ça, si un ID indiqué n'est pas présent dans le document XML, alors le document n'est pas validé.

    Voici mon document 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
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
        xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="2.0">
        <xs:element name="scxml">
            <xs:complexType>
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="state">
                        <xs:complexType>
                            <xs:choice maxOccurs="1">
                                    <xs:element name="nextstate" type="xs:nonNegativeInteger"/>
                                </xs:sequence>
                            </xs:choice>
                            <xs:attribute name="id" use="required" type="xs:nonNegativeInteger"/>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
                <xs:attribute name="version" type="xs:string" use="optional"/>
            </xs:complexType>
            <xs:unique name="uniqueStateID">
                <xs:selector xpath="./state"/>
                <xs:field xpath="@id"/>
            </xs:unique>
        </xs:element>
    </xs:schema>
    J'aimerai donc que la valeur de la balise NEXTSTATE fasse référence à la valeur de l'attribut id de STATE.

    Exemple de document valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <sxml version="1.0">
    	<state id="1">
    		<nextstate>5</nextstate>
    	</state>
    	<state id="5" />
    </scxml>
    Exemple de document non-valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <sxml version="1.0">
    	<state id="1">
    		<nextstate>5</nextstate>
    	</state>
    </scxml>
    Est-ce possible ?

    Merci de vos réponses

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Oui, il faut que l'id soit de type xsd:ID et le <nextstate> de type xsd:IDREF.

    Un xsd:ID ne peut malheureusement pas commencer par un chiffre (ni être composé uniquement de chiffres, donc.) Mais bon.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Livres/Références] Vos avis..
    Par Community Management dans le forum Livres
    Réponses: 6
    Dernier message: 25/07/2005, 19h31
  2. Références / tutoriels MFC COM
    Par DivisionParZéro dans le forum MFC
    Réponses: 3
    Dernier message: 03/02/2004, 17h49
  3. Passage d'un tableau par référence?
    Par sebduth dans le forum C
    Réponses: 9
    Dernier message: 16/07/2003, 18h32
  4. [Concept] Table de référence
    Par matlo dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 20/01/2003, 15h01

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