Bonjour à tous,
j'ai actuellement un namespace personnalisé à définir. Je ne rencontre aucune difficulté à parser des éléments "simples", c'est à dire des éléments avec des attribut ou des "innerElement".
En revanche, j'ai à présent à définir un élément qui doit avoir une référence vers un autre élément personnalisé, qui lui est un bean "nommé" dans mon contexte spring (accessible via context.getBean("idBean"); )
Voici la définition xsd de ce bean :
Illustration dans le fichier xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <xsd:element name="dbConfig"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="beans:identifiedType"> <xsd:sequence> <xsd:element ref="hbmProperty" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element>
Dans mon fichier xml, mon nouveau bean, que j'ai appelé "dbMapping", aura une référence vers un objet "dbConfig" via l'attribut "cfgID"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<ex:dbConfig id="dbConfig1"/>
Là où je bloque, c'est quand je dois définir la structure de l'élément "dbMapping" : comment définir l'attribut "cfgID" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <ex:dbMapping name="dbMapping1" cfgID="dbConfig1" file="Account.hbm.xml">
Et ensuite, comment dire à mon parser (qui étend la classe spring "AbstractBeanDefinitionParser") que "cfgID" est en fait l'id d'un bean du contexte ?
En espérant avoir été assez clair ^^
Merci d'avance !
Partager