XML - Consulta sencilla de Xquery

   
Vista:

Consulta sencilla de Xquery

Publicado por Daniel (1 intervención) el 29/03/2015 21:01:14
Un saludo y comentar que es mi primera ves que participo en el foro, estoy empezando con xquery y tengo unas dudas en cuanto a las funciones de agregacion count(),
tengo este xml :


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
35
36
37
38
39
40
41
42
<?xml version="1.0" encoding="utf-8"?>
<oferta>
	<esdeveniment edat_minima="18">
		<ubicacio>
			<barri>Ciutat Vella</barri>
			<edifici>Filmoteca de Catalunya</edifici>
			<adreca>Plaça Salvador Seguí, 1</adreca>
		</ubicacio>
		<data>
			<dia>11/04/2014</dia>
			<hora_inici>16</hora_inici>
			<hora_final>18</hora_final>
		</data>
		<artista>
			<nom>Eduardo Chapero-Jackson</nom>
			<pais_naixement>Espanya</pais_naixement>
			<any_naixement>1971</any_naixement>
		</artista>
		<titol>Los mundos sutiles</titol>
		<preu>4</preu>
		<categoria>Cinema</categoria>
	</esdeveniment>
	<esdeveniment edat_minima="2">
		<ubicacio>
			<barri>Poblenou</barri>
			<edifici>Casino l'Aliança</edifici>
			<adreca>Rambla del Poblenou, 42</adreca>
		</ubicacio>
		<data>
			<dia>11/04/2014</dia>	
			<hora_inici>18</hora_inici>	
			<hora_final>20</hora_final>
		</data>
		<artista>
			<nom>El negrito producciones</nom>
			<pais_naixement>Marroc</pais_naixement>
			<any_naixement>1971</any_naixement>
		</artista>
		<titol>Tarzán, el musical</titol>
		<preu>0</preu>
		<categoria>Teatre</categoria>
	</esdeveniment>


y la consulta es la siguiente : cuantas acontecimientos son de teatro, lo he implementado pero asi:

1
2
3
4
5
6
7
8
xquery version "3.0";
 
 
for $x in doc("Ejercicio/esdeveniments.xml")//esdeveniment
where $x/categoria="Teatre"
 
return
    <acontecimientos>{count($x/categoria)}</acontecimientos>

Pero me da como resultado:


<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>
<acontecimientos>1</acontecimientos>

el resultado tendria que ser : <acontecimientos> 7</acontecimientos> por decir un numero . he buscado consultas de este tipo pero son muy escasas
Decir que el xml es mucho mas largo , en lo que me puedan ayudar de antemando muchas gracias ando perdido en esto....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder