XPath Coche 2

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