1. Los elementos de cada coche.
/garaje/coches/coche/*
1234A P01 Seat Leon 1.6 TDI Gris 125000
4444B P02 Seat Altea XL Oro 90000
1233A P03 Seat Ibiza 1.4 TDI Rojo 145000
0011A P04 Volkswagen Golf 1.6 TDI Negro 220000
1100B P05 Volkswagen Polo 1.2 Advance Rojo 300000
1001A P05 Renault Clio Authentique 1.3 Rojo 10000
1222C P06 Renault Megane Berlina GT Acero 240000
2211C P07 Ford Konnect Combi Marino 312000
1234C P08 Ford Ranger Verde 125600
2. Los elementos de cada reparación.
//reparación/*
1234A Fallo elevalunas 2013/06/03 2013/06/03 2
4444B Cambio aceite 2013/06/03 2013/06/04 1
4444B Cambio neumaticos 2013/06/03 2013/06/04 2
0011A Cambio rueda 2013/06/04 2013/06/041
1100B Fallo encendido 2013/06/04 2013/06/06 20
1001A Cambio aceite 2013/06/05 2013/06/05 1
1222C Fallo electrico 2013/06/06 2013/06/08 10
2211C Cambio rueda 2013/06/06 2013/06/06 2
1234C Cambio aceite 2013/06/07 2013/06/07 1
3. El contenido de La matrícula de los coches.
/garaje/coches/coche/matricula/text()
1234A
4444B
1233A
0011A
1100B
1001A
1222C
2211C
1234C
4. Todos los nodos (elementos y contenido) de los coches de la marca Renault.
//coche[upper-case(marca)="Renaut"]/*
1001A
P05
Renault
Clio Authentique 1.3
Rojo
10000
1222C
P06
Renault
Megane Berlina GT
Acero
240000
5. Todos los nodos de los coches de más de 200000 km.
//coche[km>200000]/*
0011A
P04
Volkswagen
Golf 1.6 TDI
Negro
220000
1100B
P05
Volkswagen
Polo 1.2 Advance
Rojo
300000
1222C
P06
Renault
Megane Berlina GT
Acero
240000
2211C
P07
Ford
Konnect Combi
Marino
312000
6. El contenido del color del coche de matrícula 1234C.
//coche[matricula="1234A"]/color/text()
Gris
7. El contenido de la descripción de las reparaciones realizadas al coche de matrícula: 4444B.
//reparacion[matricula="4444B"]/descripcion/text()
Cambio aceite
Cambio neumaticos
8. El contenido de la descripción de la reparación de código J0005.
//reparacion[@codigo="J0005"]/descripcion/text()
Fallo encendido
9. Suma de las horas invertidas reparando coches.
string(sum(//reparacion/horas))
40
10. Número de coches en el documento.
string(count(//coche))
9
11. Selecciona todos los elementos del primer coche.
//coche[1]/*
1234A
P01
Seat
Leon 1.6 TDI
Gris
125000
12. Selecciona todos los elementos de la última reparación.
//reparacion[last()]/*
1234C
Cambio aceite
2013/06/07
2013/06/07
1
13. Selecciona todos los elementos del coche de la marca Seat con color Rojo.
//coche[marca="Seat" and color="Rojo"]/*
1233A
P03
Seat
Ibiza 1.4 TDI
Rojo
145000
14. Propietario del coche modelo Polo 1.2 Advance.
//coche[modelo="Polo 1.2 Advance"]/propietario
P05
15. Contenido de la descripción de las reparaciones realizadas con fecha de entrada 2013/06/06.
//reparacion[fecha_entrada="2013/06/06"]/descripcion/text()
Fallo electrico
Cambio rueda
16. Seleccionar los coches rojos y grises.
//coche[color="Gris" or color="Rojo"]
1234A P01 Seat Leon 1.6 TDI Gris 125000
1233A P03 Seat Ibiza 1.4 TDI Rojo 145000
1100B P05 Volkswagen Polo 1.2 Advance Rojo 300000
1001A P05 Renault Clio Authentique 1.3 Rojo 10000
17. Número de coches que entraron a reparar el 2013/06/03
count(//reparacion[fecha_entrada="2013/06/03"])
3
18. Contenido del modelo del propietario P01
//coche[propietario="P01"]/modelo
Leon 1.6 TDI
19. Código de la reparación con fecha de entrada 2013/06/03.
//reparacion[fecha_entrada="2013/06/03"]/@codigo
J0001
J0002
J0003
20. Suma de las horas de reparación del coche de matrícula 4444B.
sum(//reparacion[matricula="4444B"]/horas)
3
21. Matrícula de los coches marca Ford y Volkswagen.
//coche[marca="Ford" or marca="Volkswagen"]/matricula
0011A
1100B
2211C
1234C