Actividad 2 - Predicados I

Juan Manuel Torres Martínez 1º DAW

  1. Expresión Xpath para seleccionar el tercer servicio (FTP)
/services/service[3]
  1. Expresión Xpath para obtener el elemento module del tercer servicio.
/services/service[3]/module
  1. Expresión Xpath para seleccionar sólo el elemento descripción del 5º de los servicios.
/services/service[5]/description
  1. Expresión Xpath para obtener el último servicio (imagina que a priori no sabes cuantos hay, por tanto, poner un número concreto NO es una solución viable)
/services/service[last()]
  1. Expresión Xpath para obtener todos los puertos del primer servicio. Haz uso de la función position - Corregido.
//service[position()=1]/port
  1. Expresión XPATH para obtener el puerto del penúltimo servicio - Corregido.
//service[last()-1]/port
  1. Expresión Xpath para obtener el atributo name del elemento module del tercer servicio.
//service[3]/module/@name
  1. Expresión Xpath para obtener los elementos port cuyo atributo protocol valga udp.
//port[@protocol="udp"]
  1. Expresión Xpath para del 2º al 4º servicio.
//service[position()>=2 and position()<=4]
  1. Expresión para obtener el elemento servicio que tenga como hijo al elemento module (OJO!! que lo que tienes que obtener debe ser un nodo servicio)
//service[module]
  1. Selecciona todos los nodos port cuyo atributo port valga 53
//port[@port="53"]
  1. Selecciona todos los nodos port cuyo atributo port sea mayor de 1000.
//port[@port>"1000"]
  1. Selecciona todos los nodos port, cuyo atributo port valga entre 40 y 70
//port[@port>="40" and @port<="70"]
  1. Partiendo de la expresión anterior, haz que esta vez seleccione el nodo servicio completo, de aquellos que tengan un elemento port cuyo atributo port valga entre 40 y 70.
//service[port[@port>="40" and @port<="70"]]
  1. OJO A ESTA. Muestra solo el texto (no las etiquetas) del elemento short y el valor del atributo port del elemento port, de aquellos elementos service que cumplan que el atributo port del elemento port sea menor que 100. Es decir, que muestres el texto de short y al valor del atributo port de aquellos nodos service que cumplan la condición. PISTA: Debes enlazar dos sentencias con el mismo criterio de búsqueda, pero que muestran datos distintos - Corregido.
//service[port[@port<100]]/short/text() | //port[@port<100]/@port