| Gustavo's profileGustavo BonanseaBlogLists | Help |
|
August 01 Tutorial de XPath 2.0 - Parte 3
TUTORIAL DE XPATH 2.0 - Parte 38. Expresiones de secuenciaPara construir una secuencia se utiliza el operador “,” que evalúa las expresiones y concatena sus resultados. Para representar una secuencia vacía se deben utilizar paréntesis vacíos. Pueden expresarse rangos de datos utilizando el operador to. En el ejemplo 19 puede verse la secuencia de números 10, 11, 12, 13, 14 y 15, representada como la secuencia “10 to 15”. 10 to 15 Ejemplo 19: Secuencia de números desde el 10 al 15 incluidos. Libros/Libro[2]/Titulo, Libros/Libro[3]/Titulo Ejemplo 20: Conjunto del Titulo del segundo y tercer libro. (10 to 15)[2] Ejemplo 21: Devuelve el valor “11” 9. CombinacionesSe provee de tres operadores especiales para combinar secuencias de nodos, éstos se enumeran en la tabla 5.
Tabla 5. Estas operaciones se corresponden con las operaciones de la lógica de conjuntos clásica de las matemáticas. Libros/Libro/Titulo union (Libros/Libro/Autores/Autor/Nombre , Libros/Libro/Autores/Autor/Apellido) Ejemplo 22: Devuelve el título, nombre y apellido de cada uno de los libros 10. Expresiones RepetitivasXPath posee dos construcciones para el control de flujo dentro de una expresión: una estructura repetitiva for y una estructura condicional if. La única forma iterativa contemplada en XPath es el for. Sintaxis
sum(for $libro in Libros/Libro return ($libro/Paginas div 2)) Ejemplo 23: Devuelve cantidad de hojas de todos los libros 11. Expresiones CondicionalesSe pueden especificar instrucciones condicionales a través de las palabras claves if, then y else. Sintaxis
Si el valor de expresiontest es verdadero entonces retorna expresionentonces, en caso contrario retorna expresionsino. for $libro in Libros/Libro return concat(concat($libro/Titulo, " "), if ($libro/Precio/text() > 50) then "es caro" else "es barato" ) Ejemplo 24: Expresión que devuelve el nombre del libro concatenado con “es caro” o “es barato” dependiendo si el valor del libro es superior a 50 o no. 12. Expresiones CuantificadasExisten dos operadores especiales que sirven para cuantificar universal o existencialmente: every y some respectivamente. Los dos devuelven un resultado booleano. Sintaxis
El primero retorna verdadero si todos los elementos de la expresion1satisfacen la expresion2, en caso contrario el resultado es falso El segundo retorna verdadero si algún elemento de la expresion1satisface la expresion2, en caso contrario el resultado es falso
every $libro in /Libros/Libro satisfies $libro/count(Autores/Autor) > 1 Ejemplo 25: Retorna falso, debido a que no todos los libros tienen más de un autor
some $libro in /Libros/Libro satisfies $libro/count(Autores/Autor) > 1 Ejemplo 26: Retorna verdadero, debido a que por lo menos un libro tiene más de un autor
TrackbacksThe trackback URL for this entry is: http://misopiniones.spaces.live.com/blog/cns!2737DC89A4AAB26B!280.trak Weblogs that reference this entry
|
|||||||||||||||||||
|
|