Bonjour à tous,

J'ai un XML de la forme suivante :
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
25
26
27
28
29
30
31
32
33
34
<xml>
	<Rooms>
		<Room Quantity="1">
			<Codes>
				<Code Value="D01" Role="Reference"/>
				<Code Role="Session" Value="H5"/>
			</Codes>
			<Travellers>
				<Traveller Ref="T1"/>
				<Traveller Ref="T2"/>
			</Travellers>
		</Room>
		<Room Quantity="1">
			<Codes>
				<Code Value="D02" Role="Reference"/>
				<Code Role="Session" Value="H5"/>
			</Codes>
			<Traveller Ref="T3"/>
		</Room>
		<Room Quantity="1">
			<Codes>
				<Code Value="D02" Role="Reference"/>
				<Code Role="Session" Value="H5"/>
			</Codes>
			<Traveller Ref="T4"/>
		</Room>
	</Rooms>
	<Travellers>
		<Traveller Type="Adult" ID="T1" BirthDate="1970-11-12"/>
		<Traveller Type="Adult" ID="T2" BirthDate="1975-12-30"/>
		<Traveller Type="Adult" ID="T3" BirthDate="1971-02-12"/>
		<Traveller Type="Adult" ID="T4" BirthDate="1983-07-10"/>
	</Travellers>
</xml>
afin de regrouper les chambres par code Session et par type d'occupation (nombre adultes, nombre d'enfants) ,

étant donné la variable key qui sera utilisé dans le calcul du nombre des voyageur par type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<xsl:key name="IDTraveller" match="/xml/Travellers/Traveller" 		use="@ID"/>
j'utlise la variable key suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<xsl:key name="ticket" match="/xml/Rooms/Room"
		use="concat(Code[@Role='Session']/@Value,'_',count((Travellers|.)/Traveller[key('IDTraveller',@Ref)[not(@Type='Child') and not(@Type='Infant')]]),'_',count((Travellers|.)/Traveller[key('IDTraveller',@Ref)[@Type='Child' or @Type='Infant']]))"/>
la transformation en utilisant Oxygen (xsltproc) fonctionne très bien et j'obtiens le rsultat souhaité. Mon problème est que cette transformation ne marche pas avec Dotnet et ça me retourne une erreur :
La fonction 'key()' ne peut pas être utilisée dans les attributs 'use' et 'match' de l'élément 'xsl:key'

pouvez vous svp m'aider soit à faire fonctionner cette transformation via Dotnet soit me proposer une autre solution pour faire ce regroupement.

Merci d'avance.