Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Conversión y Adaptación de Documentos XML. Parte 1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 25 de febrero de 2025 por Francisco J. G.

133 visualizaciones

Conversión y Adaptación de Documentos XML

Descargar la transcripción

Vale, la veis perfectamente, ¿no? La presentación, sí. ¿Sí? Sí, sí que se ve. Vale. Bien, pues vamos a, esta sería la videoconferencia del tema 5 y sería conversión y adaptación de documentos XML. 00:00:04
Bueno, hemos visto hasta ahora los documentos XML, pues que eran documentos con etiquetas 00:00:21
y que, bueno, incluían información pero que no había formato. 00:00:30
Había que darles un formato, pues hay que transformarlos. 00:00:34
En cuanto a la interpretación de XML, los navegadores le interpretaban esas etiquetas 00:00:39
y aplicaban un formato según las hojas CSS, mostrando su contenido al usuario. 00:00:43
Y para transformar documentos XML, que es lo que nos interesa y que vamos a ver a lo largo de este tema, tenemos estas herramientas. Tendríamos el XSLT, que define cómo transformar un XML en otro documento, el XSLFO, que transforma XML en un documento como puede ser PDF, y luego XPAT, que es muy importante, que permite acceder a cada uno de los componentes de ese XML. 00:00:48
Podemos ir recorriéndolo de manera jerárquica y ir accediendo a cada uno de ellos. 00:01:15
Uso de XSLT, que es lo que vamos a ver. Vamos a ver XSLT y vamos a ver XPAT. 00:01:20
XSLT es un estándar aprobado por la V3C. Los documentos se llaman hojas, XSLT, y también es un documento XML. Ahora lo veremos. 00:01:26
¿Qué transformaciones permite? Podemos convertirlo en otro documento XML, 00:01:37
lo podemos convertir en un HTML o en un documento de texto simplemente, que es una hoja XSLT. 00:01:40
Como he dicho antes, es un documento XML en otro formato. Este documento XML con una serie de reglas 00:01:51
y estructuras específicas que veremos a lo largo de la videoconferencia. 00:02:00
Aquí os he puesto un ejemplo para que no vayamos entrando en harina. Aquí tenemos un documento XML y este le queremos transformar a través de este otro documento XSLT. Este otro documento ya nos dice aquí, en la salida, en el output, el método lo va a convertir en un documento HTML. 00:02:05
Vamos a tener distintos, cuando apliquemos un fichero como este, dependiendo de lo que queramos que aparezca en la salida, pues tendremos unos componentes u otros. 00:02:27
Aquí únicamente ya está metiendo una serie de componentes HTML que los seguros meten en el documento que no va a generar, pues van a salir exactamente igual. Aquí está diciendo que va a ser una lista desordenada y va a ir metiendo cada uno de los elementos, elemento 1 y elemento 2, dentro de esa lista desordenada. 00:02:42
Existen tres tipos de elementos en esa hoja XSLT. Los elementos propiamente XSLT que vendrán con este prefijo, XSL y los dos puntitos, como tenemos esta de aquí, como tenemos la primera que encabeza el documento y luego tenemos elementos LRE que serían aquellos que no pertenecen al XSLT pero que simplemente van a salir tal cual los ponemos. 00:03:06
Aquí en un documento de HTML estos head, body, todos estos serían los elementos LR. Luego hay elementos de extensión que veremos más adelante que permite meter una serie de funciones específicas que están fuera de lo que son los XSLT pero que nos permite tener mucho más, que sea mucho más rico el método de transformación gracias a esas funciones con estos elementos de extensión. 00:03:33
Esto es otro ejemplo como el anterior, pero nos indica aquí que HTML, HEAD, BODY, todos estos componentes son LREs 00:03:59
Realmente lo único que es XSLT serían las que vienen con el prefijo que he indicado anteriormente 00:04:10
No digo exactamente lo que sale porque quiero primero ver que lleguemos a ver todo lo que podemos utilizar dentro de un XSLT 00:04:17
para comprender este código que estaba apareciendo aquí. 00:04:29
Tan solo decir que este es el fichero XML que queremos transformar. 00:04:33
Este va a ser el que nos va a permitir la transformación. 00:04:38
Básicamente, la salida va a ser un HTML, lo vemos aquí, 00:04:41
y nos va a generar este otro de aquí. 00:04:46
Si veis, es una lista desordenada en la que ha cogido cada uno de los elementos 00:04:47
de texto, de nombre, de cada uno de los dos productos del fichero XML. 00:04:50
Eso lo hace a través de este forEach. 00:04:56
a través de esta ruta 00:04:58
que es como una ruta 00:05:01
como cuando utilizamos 00:05:02
cualquier ruta en Linux, en MS2 00:05:04
esta ruta nos está 00:05:07
llevando jerárquicamente desde 00:05:09
productos hasta el producto 00:05:10
y luego dentro del producto nos está cogiendo 00:05:12
seleccionando cada valor 00:05:14
de nombre, cada etiqueta nombre 00:05:16
y dentro de nombre nos está cogiendo el texto 00:05:18
que va a meter en cada una de las casillas 00:05:20
de esa lista desordenada 00:05:22
entonces coge televisor y coge computadora 00:05:24
También tenemos elementos de extensión, lo he dicho antes, un ejemplo, he querido poneros aquí un ejemplo, 00:05:30
en el que, fijaos, aquí os está metiendo una serie de, lo vienen con este nombre de XSLT, 00:05:35
en el que nos está metiendo funciones, en este caso, pues, de strings, para manejar strings, 00:05:41
a través de este fichero XML ha puesto Hola Mundo, y lo único que quiere hacer a través de esos elementos de extensión 00:05:47
En esta hoja de XSLT lo que quiere es transformar ese texto de minúscula a mayúscula, utilizando funciones de las que he añadido aquí de estos elementos de extensión. 00:05:53
El emisor de extensión, el prefijo le llama str y en str utiliza una función suya que es uppercase para que lo que haya dentro de la ruta absoluta root mensaje, que sería si vamos aquí en el xml en su ruta root mensaje, coge este texto y a través de esta función lo pone mayúsculas. 00:06:05
La salida, lógicamente, pues era el mensaje mayúsculas hola mundo. 00:06:30
Hemos dicho que los elementos XSLT tenían un prefijo, que era este, que es el XL, 00:06:40
esas serían cada una de las líneas de esa hoja XSLT, que están definidos en el estándar del lenguaje 00:06:45
y que pueden ser interpretados por cualquier procesador XSLT. 00:06:52
Aquí tenemos un ejemplo de un template, que luego veremos lo que es. 00:06:58
Luego los elementos LRE, no lo voy a repetir, ya lo hemos visto lo que eran, y los elementos de extensión, que también no hemos visto lo que eran y tampoco lo voy a repetir. 00:07:01
Asociación del XSLT con XML, se hace a través de esta línea, y aquí se añade en el XML, se añade cuál es el punto XSL que se va a utilizar para que lo transforme. 00:07:11
Si veis aquí, utiliza el XML stylesheet y le mete la ruta, nada más que sería el fichero o la hoja XSLT. 00:07:29
¿Qué elementos tiene un XSLT? Aquí tenemos los elementos raíz, pueden tener o este o el de otro, cualquiera de los dos, o el stylesheet o el transform, pueden aparecer los dos. 00:07:39
Si veis aquí, no es como, es realmente el elemento raíz del XSLT. 00:07:50
Veis aquí la etiqueta de apertura y aquí la de cierre. 00:07:58
Ambos, como digo, son equivalentes. 00:08:02
También tiene atributos, más atributos tendríamos que del elemento raíz teníamos la versión que aparece aquí 00:08:05
y también la declaración del espacio de nombres, 00:08:13
En el que generalmente es esta línea que aparece aquí. Los elementos de nivel superior son estructuras contenedoras, lógicamente, y no pueden anidarse excepto cuando tenemos estas dos. Estas dos serían otros dos tipos de elementos que pueden aparecer, como son el parámetro y la variable. 00:08:18
Es decir, que la variable luego se utiliza poniendo pues con un valor de dólar, tanto en la variable como en el parámetro. 00:08:38
La única diferencia es que el parámetro lleva un valor por defecto y también para el caso en el que, porque generalmente el parámetro es para cuando recibe, como pasa en cualquier lenguaje de programación, un parámetro es porque va a recibir un valor. 00:08:48
Entonces, cuando recibe un valor, ese es el que va a utilizar. Si no hay un valor, utiliza el valor por defecto que se le envía. 00:09:01
Y variable sería para escribir esas rutas que hemos estado hablando anteriormente, podemos almacenarlas y podemos usarlas a través de un nombre, que sería la propia variable. 00:09:07
Es decir, que aquí el concepto de variable, que en cualquier lenguaje de programación es algo mutable, aquí en las hojas XSLT son inmutables. 00:09:18
Aquí tenemos un ejemplo del XML, lo veis, en el que tenemos un elemento writeRoot y luego tenemos un elemento usuario con un nombre y una edad. 00:09:30
Aquí ha realizado un XSLT en el que el documento de salida va a ser un texto y lo único que hace es que ha definido un parámetro aquí llamado saludo y con un valor por defecto, el SELECT, indica el valor por defecto que será hola. 00:09:38
A continuación ha metido un template que ya veremos más adelante lo que es, pero lo único que quiero que veáis aquí es el caso de las variables. 00:09:55
Aquí ha definido dentro de este template dos variables, una se llama nombre de usuario y la otra edad de usuario. 00:10:08
Entonces nombre de usuario le ha puesto la ruta root usuario nombre, o sea que estaría refiriéndose a este valor, y dentro de edad usuario, que sería la otra variable, estaría como root usuario edad, que sería este otro valor. 00:10:15
Entonces, cuando para imprimir el saludo, que es lo que se trata de esta transformación, obtener un valor texto con el saludo, pues al final le pone a través de valueOf, le pone una función utilizando la función concat, que lo que hace es concatenar tanto la variable saludo, la de nombre usuario, como la de usuario generando una frase. 00:10:31
Si veis cada uno de ellos, tanto los parámetros como las variables para poder utilizarlas se utilizan con un dólar delante. 00:10:53
Este sería la salida, veis, saludo hola, que era el parámetro que como no recibía nada, pues cogía el valor por defecto. 00:11:02
A continuación hay una coma, luego hay el nombre de usuario que es el contenido de esta dirección, que sería Juan, luego ha puesto la cadena tienes y por último la última variable que era edad de usuario, que era la ruta root usuario edad, que es 30. 00:11:18
Y luego pues años, aunque no me ha cabido aquí, pero aquí aparecería otra cadena concatenada que sería años entre comillas. También se puede hacer, pero bueno, esto lo he puesto, pero tampoco tenemos, esto sería pues el caso en el que queramos meter un, en un parámetro queramos meter un valor, pero tampoco aquí la he metido por la palabra bienvenido, pero tampoco esto no, lo que voy a añadir para que sepáis que existe. 00:11:33
más elementos principales que tenemos 00:11:57
atributo que ya lo hemos visto, choose que lo veremos más adelante 00:12:01
decimal format que define formatos para números decimales 00:12:05
el choose va a ser como si fuera un case 00:12:08
luego lo veremos, el for each que nos deja de ser más que un árbol 00:12:13
aplica sentencias a cada nodo del árbol, es como un bucle 00:12:16
y el if que es una condición, la diferencia entre el choose y el if es que será una única condición 00:12:21
y en el churpo tendremos distintas opciones para una condición. 00:12:26
Aquí tenemos un ejemplo de ello, en el que este es el fichero XML y aquí tenemos el XSLT, 00:12:32
en el que esta hoja, si veis aquí, tiene un for each. 00:12:40
El for each, el select, nos está indicando a partir de dónde va a producirse el recorrido del bucle. 00:12:44
Estás posicionándonos en productos y luego producto, entonces lo que nos interesa son estos componentes que están dentro de producto, como es un bucle va a recorrer los tres, dentro del mismo, porque esto es una tabla, lo que va a querer al final es poner los valores dentro de una tabla, si veis aquí las etiquetas HTML, entonces lo que está pidiendo es dentro de esa ruta que la ha metido en el for each está pidiendo el nombre, que sería cada uno de los valores, 00:12:52
Entonces al final lo que va a meter en la tabla va a ser televisor, computadora, celular, etc. Aquí tenemos también un ejemplo de la función del formato decimal para que le aplique un formato cada vez que recoja el valor de precio, le aplique el formato que pone aquí a través de la función formandarmer. 00:13:20
Y aquí tenemos en el mismo ejemplo, he querido, porque este código va así, hasta aquí, y luego sigue por aquí, ¿vale? Por eso he puesto la flecha, porque no me cabía, ¿vale? Entonces, quería que vierais el choose, cómo se, entonces, en la siguiente diapositiva lo he agrandado para que lo veáis, que es esta parte, ¿vale? 00:13:43
Y el choose lo que va a elegir es entre, al fin y al cabo, está formado por tres palabras que gobiernan este bloque. Una sería choose, otra sería when y other ways. El choose es el que va a escoger entre una de las opciones como pasaba con un case. La primera que valga o que lo cumpla, pues esa es la que lo cogerá. 00:14:07
Si veis aquí, la primera opción es como si fuera un case, pero con el WEN, en el que el WEN nos está diciendo, oye, en stock, que sería aquí, si el valor es más grande de 10, entonces me vas a poner en color verde esa casilla. 00:14:27
Si esta está entre 0 y entre 10, me lo pones en color naranja. Y si no se cumplía ninguno de los dos, pasaría al other ways y pondría agotado en color rojo. Este sería el other ways. 00:14:50
¿La diferencia entre un choose y un if? Pues que el choose, ¿cuántas condiciones evalúa? Va a evaluar varias, mientras que el if solo evalúa una. 00:15:06
¿Ejecuta más de una condición? No, pero en el if sí puede tener, si hubiera varios if. 00:15:21
¿Is y tiene una opción por defecto, cosa que no tiene el if? Entendría que sería el llamado de always. 00:15:26
Si veis, es igual que un case en cualquier lenguaje de programación. 00:15:31
¿Vale? ¿Qué más elementos principales? Tenemos import, que importa una hoja de estilos, key, que define claves para referenciarles en el documento, output, que ya hemos visto que definía qué salida iba a generarse, preserve space, que mantiene espacios en blanco y, bueno, que está ordenado en nodos de manera alfabética o numéricamente, sort. 00:15:35
Y como veis hay un montón, no he podido hacer ejemplos de todos porque si no se extendería muchísimo la presentación. 00:16:00
Strip space que elimina los espacios en blanco de XML, template que esta sí la vamos a ver a continuación, y value of que inserta el valor de una expresión XPath en la salida y variable que ya la hemos visto. 00:16:10
Aquí tenemos la asociación de XSLT con XML, lo he explicado antes, se realizaba a través de esta línea, en la que esta línea se añadía, aquí tenemos productos XLS, que sería la hoja, y tenemos aquí en el propio fichero XML, tenemos la referencia a esa hoja XSLT. 00:16:23
Lo había dicho antes, se hace a través de estar poniendo la ruta aquí en href y esta sería la línea que sería la siguiente, pues a la propia, la del cabezado por un fichero xml. 00:16:53
Una vez que hace referencia a ese, primero se enlaza el xml con el xslt y una vez que ya está enlazado el xslt es el que va a producir la transformación. 00:17:07
Y si tenemos que se abre en un navegador, como puede ser Firefox, Edge, se verá dicha transformación, la que ahora ya hemos aplicado aquí. Pero que sepáis que ese es el procedimiento. Tiene que haber aquí una referencia a esa hoja XSLT para que se produzca la transformación del fichero XML. 00:17:19
Pasamos a XPath, ya con esto tenemos XSLT, vamos a pasar a XPath 00:17:38
Recordar que XPath lo que hacía es que podíamos navegar a través de los elementos de un documento XML 00:17:45
Y pasar a cualquiera de ellos 00:17:51
Es un estándar también aprobado por el mismo que pasaba con XSLT 00:17:53
Que permite navegar entre los elementos y atributos de un documento XML 00:17:57
Y que se basa en relaciones de paréntesis, entre los nodos de un documento XML 00:18:00
inicialmente creado para XSLT 00:18:04
pero se puede usar ahora para todos 00:18:09
XSpat selecciona nodo o conjunto de nodos 00:18:11
ahora lo veremos 00:18:17
y que estas expresiones son similares a las rutas de archivos 00:18:18
en los sistemas operativos, hemos ya hablado un poquito de ello 00:18:21
hemos hablado a lo largo de las diapositivas anteriores 00:18:24
como establece 00:18:27
como si fuera una ruta de archivos 00:18:31
con la barra inclinada hacia la derecha, como si fuera una ruta de archivos para navegar a lo largo de la jerarquía del documento de XML. 00:18:34
¿Cómo aparece aquí? Aquí está navegando a través de estas barras inclinadas, a través de matrículas que será el documento de XML, 00:18:43
el elemento raíz, luego un sub-elemento que será alumno y dentro de alumno habrá otro sub-elemento nombre. 00:18:53
Habrá navegado jerárquicamente hasta allí. Aquí tenemos un ejemplo de cómo se puede hacer esa navegación. Si pones matrículas, estamos seleccionando el nodo raíz. Si pones matrículas barra alumno, estamos seleccionando el nodo alumno. 00:18:59
Si pones matrículas barra alumno barra nombre, estará seleccionando nombre. Y si pones matrículas barra alumno barra apellido 2, pues estará seleccionando este otro nombre. 00:19:16
Claro, al seleccionar matrículas alumno nombre, el resultado que estamos obteniendo es el contenido del mismo, que sería el pedro. 00:19:31
Términos básicos de Gizpad. Tenemos siete tipos de nodos. Tenemos elemento, tenemos atributo, tenemos texto, tenemos espacio de nombres, instrucción de proceso, comentario y documento. 00:19:39
Con respecto a nodo raíz versus elemento raíz. Nodo raíz contiene el ejemplar del fichero XML. Una cosa es el nodo raíz, que sería todo el ejemplar, y otra es el elemento raíz. 00:19:54
El elemento RAID, que sería el nodo RAID, que sería matrículas. No confundir. Entonces, nodo RAID sería el propio ejemplar de XML y elemento RAID sería matrículas, que es el elemento RAID. 00:20:12
En cuanto a nodos elemento, van a representar cada una de las etiquetas XML y tendrán, lógicamente, un elemento padre y pueden tener identificadores únicos. 00:20:25
Los nodos texto son el contenido dentro de las etiquetas, son aquellas que no están marcadas como etiquetas y no tienen lógicamente hijos. 00:20:35
Aquí tenemos nodos atributo, aquí tenemos fijados en el fichero XML y tenemos varias selecciones. 00:20:46
Imaginaos que seleccionar un atributo específico. Para seleccionar un atributo específico se hace a través del arroba, lo veremos. 00:20:56
Entonces, hace el recorrido matrículas barra alumno barra DNI y luego al poner el arroba país nos está indicando, oye, dame el atributo específico que te estoy dando aquí. 00:21:03
Si además le ponemos entre corchetes una operación de igualdad, que lo veremos en las expresiones o los predicados, le decimos que ese atributo además tiene que ser igual a es, nos tendrá que dar, seleccionar ese nodo de este atributo país igual a es. 00:21:17
Aquí también tendríamos la selección de todos los atributos de un nodo, que no es más que poner el arroba en vez de con un nombre, con un asterisco, eso nos indica que nos va a dar todos los atributos que haya, ¿vale? De ese nodo DNI, ¿vale? Aquí nos dará la misma solución, porque solo tiene un atributo, pero si tuve tres, pues nos daría los tres. 00:21:33
Y seleccionar nodos que tienen un atributo específico, pues está diciendo que dentro del DNI, o sea, matrículas alumno en jerarquía y luego a DNI, dame los nodos que tienen este atributo país. 00:21:51
¿Qué te daría? Pues todo el nodo que es el que tiene el atributo país. 00:22:08
Esto es más de lo mismo, cómo diferenciar entre nodo elemento raíz, nodo elemento y nodo atributo. 00:22:15
Un ítem puede ser un nodo o un valor atómico. Hay que decir que Pedro es un valor atómico, pero también un atributo sería un valor atómico. 00:22:20
En cuanto a las relaciones entre nodos, es decir, que puede haber relaciones de padre a hijo, de hermanos, ascendentes, descendentes. De padre a hijo sería, pues, alumno, lógicamente, será el padre de nombre. 00:22:31
En cuanto a hermanos, lógicamente nombre, apellido 1, apellido 2 y DNI son hermanos. Ascendentes, ascendente de nombre puede ser matrículas y descendentes de apellido 1, descendentes serían matrículas. 00:22:43
He hablado antes de cómo en XPath se pueden realizar expresiones y hemos visto el ejemplo de una expresión aquí. 00:22:57
Aquí había una expresión. Vamos a verlo ahora, un poquito con más detalle. 00:23:08
Y hay que decir que XPath utiliza expresiones para seleccionar y manipular datos en XML. 00:23:13
Al evaluar una expresión se pueden obtener cuatro tipos de resultados. 00:23:17
O obtienes un conjunto de nodos, lo que se llama un nodo set, o un valor booleano, true, false, un número o una cadena de texto. 00:23:22
Aquí he añadido un ejemplo de un conjunto de nodos en el que hay que decir que ese conjunto de nodos no está ordenado, 00:23:32
los nodos dentro del conjunto son considerados hermanos, lógicamente, y los árboles de un nodo no son parte del conjunto. 00:23:41
Aquí tenemos el fichero XML y entonces el conjunto de nodos está poniendo matrículas, alumno, nombre, text, que está indicando que vayamos en la jerarquía desde matrículas, alumno y en el sub-elemento nombre. 00:23:46
Y ahí me está indicando que ponga todos los que tengan el nombre dentro del fichero XML, que me ponga todos los textos. Irá recorriendo cada uno de ellos y nos pondrá Pedro y Ana. 00:24:03
En cuanto a matrículas alumno nombre, le estamos indicando que nos devuelva un set de nodos. Le estamos diciendo, oye, dame desde dentro de nombre todos los nodos que estén dentro de matrículas y dentro de alumno que tengan la etiqueta nombre. 00:24:15
Con ello nos está dando los dos nodos que existen dentro de este fichero XML, que serían nombre con Pedro como valor texto y nombre con Ana como valor texto. 00:24:33
Otros tipos de resultados en XPath. Hemos visto cómo obtener un conjunto de nodos a través de lo que era el nodo set. 00:24:47
pero ¿qué sucede si lo que queremos es obtener un valor booleano, un valor true o false? 00:24:59
Se hace a través de expresiones, lo que hemos visto anteriormente, y esas expresiones se ponen entre corchetes. 00:25:05
Si yo le digo p que a matrículas, este sería el documento que se mele, nos vamos a matricular dentro del sub-elemento alumno 00:25:11
y dentro del sub-elemento alumno aquellos cuyo nombre sea igual a Pedro. 00:25:21
Al aplicar la función booleana nos va a dar un valor de true porque aquí existe. 00:25:26
En cuanto a un número, también se puede obtener cuando le aplicas una función como puede ser la función suma. 00:25:31
Tú puedes coger dentro de matrículas alumno y edad y que te coja todos los elementos de edad que hay dentro de matrículas y dentro de alumno y que te la sume. 00:25:36
Con lo cual, cogerá la de 20, cogerá la de 22 y la sumará y nos sacará un resultado de 42. 00:25:46
Y por último puede obtenerse una cadena o una secuencia de caracteres. 00:25:51
Eso se va a realizar a través de la función concat. Concat, como pasa en otros lenguajes de programación, lo único que hace es unir cadenas. 00:25:55
Entonces, lo que hace el primero es que coge de matrículas, sigue la ruta de matrículas, alumno, alumno, entre corchetes uno, que indica de los distintos alumnos que tiene, que son dos, que coja el primero. 00:26:04
y con el valor nombre, con lo cual está cogiendo Pedro. 00:26:18
A continuación, le concatena la palabra tiene, entre comillas simples, 00:26:23
y posteriormente le mete otra cadena a través de otra ruta, 00:26:28
que sería matrículas alumno, quiere el primero de los dos que hay, 00:26:32
pero lo que quiere ahora es la edad, y esta sería de 20. 00:26:36
Pedro tiene 20 y luego con la cadena concatenada años, 00:26:42
que sería el texto que va a aparecer al final. 00:26:45
Si veis, en función de la función que apliquemos, boolean, suma o concat, obtendremos los tipos de resultados de XPath como booleano, número o cadena de texto. 00:26:48
Se pueden utilizar elementos en estas expresiones, que son los típicos elementos que aparecen en toda la lenguaje de programación, salvo el arroba, que es el atributo, que ya lo hemos definido anteriormente, los elementos que indica un valor, el asterisco indica todos los elementos posibles, 00:27:00
y luego veremos los separadores, que serían el doble punto, estos dos puntos y las comas. 00:27:16
En cuanto a las llaves, corchetes y paréntesis también se pueden utilizar. 00:27:23
Tenemos aquí otros dos elementos, que es el elemento actual, el elemento padre y el elemento comment y text. 00:27:30
Text ya lo hemos visto, que sería para que nos saque el texto del propio nodo 00:27:35
Y comentario a lo veremos, que es para que nos saque el comentario que pueda haber dentro de un archivo de XSLT. 00:27:41
También tenemos, lógicamente, si es una presión, en estas expresiones podemos añadir operadores. 00:27:50
Tenemos operadores and or, en el que hay éticos como pueden ser la suma, la resta, la multiplicación, el módulo, la división, los relacionales y luego los jerárquicos. 00:27:56
Y es conveniente, esto sí es importante en cuanto a los jerárquicos, indicar que cuando tú pones una barra delante, que es la que hemos visto anteriormente, estamos hablando que es una dirección absoluta. Aquí estábamos hablando con una barra, estamos hablando de dirección absoluta. 00:28:08
Cuando hablamos de una doble barra, lo que vamos a hacer es que va a seleccionar nodos en cualquier lugar del documento y esto, da igual lo profundo que sea, lo va a encontrar y lo va a buscar de manera recursiva. 00:28:22
Y cuando tengamos una barra vertical, lo que va a hacer es que si tenemos varias expresiones, podemos juntar esas expresiones a través de esa barra. Aquí tenemos un ejemplo, por ejemplo este, en el que nos está diciendo selecciona todos los elementos div, recorrerá todos los elementos div dentro de HTML Body, selecciona todos los div que haya. 00:28:39
Y al poner la barra en vertical nos indica, y además, cógeme todos también los elementos párrafo que haya también en el documento. 00:29:06
Francisco, perdón, una preguntilla. En este ejemplo de HTML barra body barra barra div, ¿se podría poner simplemente barra barra div? 00:29:16
Sí, también se podría poner. Lo que pasa es que aquí, como es compuesta la expresión, aquí ya te está indicando al poner el HTML barra body. No, claro. Pero es que, ¿dónde vas a poner un div que esté fuera de un HTML body? 00:29:24
Sí, no, pero te digo 00:29:51
porque como justo 00:29:54
al otro lado de la barra vertical 00:29:55
está barra barra P 00:29:58
por eso digo 00:29:59
Si tú pones barra barra div 00:30:01
va a ser igual que el barra barra P 00:30:04
él te va a buscar al fin y al cabo 00:30:05
porque el barra barra ya lo dice 00:30:06
en cualquier lugar del documento 00:30:08
va a ir buscando todos los P que haya 00:30:11
entonces te va a dar igual de ponerlo todo 00:30:13
o sea 00:30:15
podríamos quitar esto 00:30:16
perfectamente 00:30:19
¿Vale? Bien, y estos serían los operadores de los que disponemos. Nos quedan las funciones y los ejes. Cuando las funciones ya las hemos visto. Count, que bueno, en count no lo hemos visto, hemos visto sum, pero es muy parecida, creo que hay un ejemplo por ahí. 00:30:20
CONCAT ya lo hemos visto, CONTAINS para ver si contiene algún elemento que nosotros pongamos entre comillas simples y luego la definición de ejes que lo vamos a ver a continuación. 00:30:38
También podemos tener literales y números. Literales, ya hemos visto los ejemplos, lo podemos poner entre comillas simples y entre comillas dobles. 00:30:49
Entonces, los números, he puesto yo esto, las comillas simples aquí, pero bueno, no se ponen comillas simples, era para remarcarlo, ¿vale? Como he dicho aquí con la variable, ¿vale? Y las variables que se pone con el dólar, ¿vale? Pero no van aquí estas comillas simples, ¿vale? 00:30:57
Y nos queda el procesando expresiones y rutas de localización. Ya he dicho que me faltan cómo procesar esas expresiones. Hay que decir que al procesar un documento de XML vamos a encontrar estos conceptos que son el nodo actual, el nodo contexto y el tamaño del contexto. 00:31:10
Bien, también me contesto para definir el número de nodos evaluados, de ahí viene la función count, ¿vale? Entonces, yo en este fichero XML estoy diciendo, dentro de universidad, la ruta absoluta, universidad, estudiante, cuéntame cuántos hay. Hay uno, dos y tres, con lo cual me aparecerá un tres, ¿vale? 00:31:33
Nodo contexto, conjunto de nodos usados para evaluar expresiones. Aquí lo que me va a decir es que el conjunto me va a dar el conjunto de todos los etiquetas estudiantes. 00:31:51
Entonces, como está diciendo, dirección absoluta, universidad o estudiante, pues haría todos los que hay. Y en nodo actual es el nodo en el que se va a encontrar en ese mismo momento el procesador. 00:32:04
Aquí está indicando que dame el nodo dentro de la jerarquía absoluta o de la dirección absoluta. 00:32:18
Idioma/s:
es
Materias:
Informática
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Francisco J. González Constanza
Subido por:
Francisco J. G.
Licencia:
Todos los derechos reservados
Visualizaciones:
133
Fecha:
25 de febrero de 2025 - 10:41
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
32′ 26″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
538.60 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid