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 :


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>
Illustration dans le fichier xml :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<ex:dbConfig id="dbConfig1"/>
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:dbMapping name="dbMapping1" cfgID="dbConfig1" file="Account.hbm.xml">
Là où je bloque, c'est quand je dois définir la structure de l'élément "dbMapping" : comment définir l'attribut "cfgID" ?
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 !