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] Surchager du type d'un élément


Sujet :

Valider XML

  1. #1
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut [XSD] Surchager du type d'un élément
    Bonjour,

    Je tente de savoir s'il est possible de surcharger le type d'un élément présent dans un schéma A, à l'aide d'une redéfinition dans un schéma B.

    Le fichier XSD que je nomme A, m'est transmis et je ne peux théoriquement pas le modifier. Dans ce schéma j'ai l'élément DATENAISSANCE qui est défini pour être du type "xsd:date".
    Il s'avère que pour pouvoir traiter le flux qu'on me transmet (censé être conforme au schéma), il est impératif que le type de l'élément concerné soit "xsd:string".

    J'ai donc pensé, à surcharger la définition de l'élément à l'aide d'un autre schéma mais j'ai du mal à trouver la bonne formulation car je n'ai pas trouvé d'exemple correspondant exactement à mon besoin.

    Voici la définition du schéma original
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
    <xsd:element name="Identification">
        <xsd:complexType>
            <xsd:sequence>
                ....
                <xsd:element name="DATENAISSANCE" type="xsd:date" />
                ....
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    ...
    Et un exemple de ce que je cherche à faire mais qui n'est pas valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
        <xsd:redefine schemaLocation="A.xsd">
            <xsd:simpleType name="DATENAISSANCE">
                <xsd:restriction base="DATENAISSANCE">
                    <xsd:simpleType>
                        <xsd:element name="DATENAISSANCE" type="xsd:string" />
                    </xsd:simpleType>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:redefine>
    </xsd:schema>
    Voilà, donc est-ce possible ou pas ? Je me demande... Et si oui, comment faut-il s'y prendre ?

    Merci de votre aide.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Par défaut
    Bonjour Laurent,

    Je suis désolé, je ne peux pas répondre à ta question. Si je poste, c'est pour savoir si tu connais un site, un bouquin, ou tout autre support qui me permettrait d'apprendre à utiliser les annotations dans un schéma xml. Je galère vraiment. Je ne trouve pas le moyen de spécifier dans mon xsd qu'un attribut est une référence sur un autre élément. Une sorte de clé étrangère. Ce qui devrait me générer un pointeur dans la classe.


    Si tu peux m'aider à avancer, merci infiniment.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Par défaut
    Rebonjour,
    Je viens de trouver ceci : http://old.nabble.com/JAXB,-XJC-and-...d20339296.html

    En espérant que cela puisse t'aider.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/05/2008, 17h07
  2. Réponses: 3
    Dernier message: 06/09/2006, 12h43
  3. Réponses: 6
    Dernier message: 27/06/2006, 23h26
  4. [XSD] Incompatibilité des types xs:ID et xs:IDREF ?
    Par Cpt.FLAM dans le forum Valider
    Réponses: 6
    Dernier message: 08/04/2005, 14h54
  5. [XSD] Complexe de type all mais avec maxoccur
    Par Je@nb dans le forum Valider
    Réponses: 3
    Dernier message: 06/02/2005, 19h18

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