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

Format d'échange (XML, JSON...) Java Discussion :

Annotation permettant d'avoir une référence sur un élément [JAXB]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut Annotation permettant d'avoir une référence sur un élément
    Bonjour,

    Je cherche depuis plusieurs jours le moyen d'écrire dans mon schéma xml que je veux qu'un attribut soit en fait une référence (un pointeur ou un iterator) sur un autre élément.

    exemple :
    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
     
    <xsd:complexType name="Section">
    		<xsd:attribute name="Index" type="xsd:int"
    			use="required" />
    		<xsd:attribute name="Name" type="xsd:string" />
    		<xsd:attribute name="StartNode" type="xsd:int"
    			use="required" ecore:reference="myNS:Node" ecore:opposite="Index">
    		</xsd:attribute>
    		<xsd:attribute name="EndNode" type="xsd:int"
    			use="required" ecore:reference="myNS:Node" ecore:opposite="Index" />
    </xsd:complexType>
     
    <xsd:complexType name="Node">
    		<xsd:attribute name="Index" type="xsd:int"
    			use="required" />
    		<xsd:attribute name="Name" type="xsd:string" />
    		<xsd:attribute name="X" type="xsd:float" default="0.0"
    			use="optional" />
    		<xsd:attribute name="Y" type="xsd:float" default="0.0"
    			use="optional" />
    		<xsd:attribute name="Z" type="xsd:float" default="0.0"
    			use="optional" />
    	</xsd:complexType>
    Dans mon exemple, je veux que jaxb génére un pointeur pour l'attribut Section.StartNode et SectionEndNode. Ces pointeur doivent pointer sur le type Node.
    ici, j'avais mis des ecore:*, ce qui marche quand on génère avec GMF, mais je n'utilise plus GMF, je travaille directement avec le plugin Jaxb2.

    Merci d'avance si quelqu'un peut m'aider.

  2. #2
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    Bonjour,
    Après plusieurs jours de recherche, j'en ai conclu que ce n'est pas possible. Du moins avec les annotations.
    Le seul moyen de faire une référence (sur le type java.util.object), est d'utiliser dans le xsd le type IDREF (XML 1.0) sur les clés étrangères. Ce malgré que le W3C préconise de ne plus utiliser ça au profit de KEY et KEYREF, voir doc officielle W3C XML Schema Thome 0 - Introduction, Chap 5.2 : http://xmlfr.org/w3c/TR/xmlschema-0/

    Voilà, A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Coucou,
    en faisant ? :


    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
    <xsd:element name="profile">
    		<xsd:complexType>
                <xsd:sequence>
    				<xsd:element name="nomA" type="Node" />
    				<xsd:element name="nomB" type="Node" />
    				<xsd:element name="nomC" type="Node" />
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
     
    	<xsd:complexType name="Node">
    		<xsd:sequence>
    			<xsd:element ref="name" />>
    			<xsd:element ref="password" />
    		</xsd:sequence>
    	</xsd:complexType>

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

Discussions similaires

  1. [JNI] Conserver une référence sur plusieurs appels de méthode
    Par KindPlayer dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 26/05/2008, 17h50
  2. Ajouter une référence sur une librairie de classe
    Par Poussy-Puce dans le forum ASP.NET
    Réponses: 5
    Dernier message: 07/05/2008, 18h09
  3. Retourner une référence sur un std::vector
    Par Rodrigue dans le forum C++
    Réponses: 12
    Dernier message: 13/10/2007, 16h30
  4. Réponses: 2
    Dernier message: 13/12/2006, 13h39
  5. Comment avoir une référence sur une Vue
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 12/08/2005, 10h03

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