Hojas de Estilo: CSS y XSL
CSS (Cascading Style Sheets)
CSS (Style Sheet for HTML): Permite dar estilo a documentos HTML y XML. Cada etiqueta está predefinida y el navegador sabe cómo interpretarlas.
XSL (Extensible Stylesheet Language)
XSL (Style Sheet for XML): Hoja de estilo XML. Las etiquetas no están predefinidas y el navegador no sabe cómo interpretarlas. Utiliza las etiquetas XSL y HTML para definir cómo mostrar el XML.
XSL (Extensible Stylesheet Language) Dispone de 3 partes:
- XPath: Especifica qué elementos queremos seleccionar del documento XML
- XSLT: Lenguaje para obtener los elementos del XML
- XSL-FO: Lenguaje para formatear los datos XSL
Template: Sirve para construir una plantilla. Contiene reglas que se aplicarán cuando encontremos un nodo en concreto.
Match=”/”: Hace referencia a todo el documento, es decir, vamos a recorrer todos los nodos desde el nodo raíz (/)
Etiquetas XSL Comunes
- For-each: Recorre todos los nodos
- Value-of: Extraer el valor de un elemento. Está en el select
- XLS: if Definir un contenido que solo se tendrá en cuenta si cumple una condición
- XLS: Choose Escoger diferentes opciones.
- XSL: Sort Debe de estar dentro de un XS: for-each. Ordena los resultados seleccionados con el Select.
RSS (Really Simple Syndication)
RSS (Really Simple Syndication) Es un tipo de XML que nos permite distribuir el contenido de la web.
Bases de Datos
Herramienta que permite organizar datos que tienen algún tipo de relación entre sí:
Datos Estáticos: No cambian en el tiempo, es de lectura.
Datos Dinámicos: Cambian a lo largo del tiempo.
Ventajas e Inconvenientes de los SGBD
Ventajas:
- Evita la redundancia de datos
- Permite la abstracción de datos independientemente del sistema utilizado
- Evita la inconsistencia de los datos cuando diferentes programas actualizan un dato
- Un cambio o adición de información no afecta a todos los programas que lo utilizan
Inconvenientes:
- No es fácilmente administrable
- Se puede substituir por un fichero si no requiere acceso concurrente de usuarios o aplicaciones
- No es fácil formar al personal
- Requiere un coste en Hardware y Software
Base de Datos XML
Permite almacenar datos.
El árbol de marcas puede indicar la estructuración, tipo y relación de los datos.
Fácilmente transportable.
No contempla la seguridad ni la integridad de los datos.
No posee de transacciones ni disparadores.
Selección de Atributos
Carácter @ Ejemplo:
Marc
$alumnos/alumno/nombre/@matricula
Condicionales
$alumnos/alumno/[nombre=’Marc’]/@matricula
Operadores
$facturas/factura/(producto * precio)
Expresión For
for $x in $facturas/factura/producto return $x/precio * $x/cantidad |
Este ejemplo nos realizará el calcula de cada producto, el precio por cantidad. La variable $x contiene en cada vuelta el producto seleccionado.
Inserción, Modificación y Eliminación
Agregar Elementos:
insert node “que nodo/nodos queremos insertar” (into|preceding|following) “dónde lo queremos insertar”
Ejemplo:
Insertamos un nuevo coche dentro de concesionario entero dentro de Discoteca, lo pone en la ultima posición.
Resultado:
Borrar Elementos
delete node “que nodo/nodos queremos borrar”
Ejemplo:
Borrar el primer coche
Actualizar Elementos:
replace $var in “qué queremos modificar” with “el nodo que lo sustituye”
Ejemplo:
Actualiza la marca del coche 1 que era Seat por Cupra
Resultado:
Test de Autoevaluación Tema 7
¿A qué siglas pertenece FLWOR?
d) For, Let, Where, Order by, Return
e) For, Low, What, Order by, Return
f) For, Let, What, Order by, Return
Una BBDD estática:
g) No cambia en el tiempo y es sólo lectura
h) No cambia en el tiempo y es de lectura/escritura
i) Cambia los datos
¿Cuál de los siguientes softwares no utiliza BBDD XML Nativa?
j) BaseX
k) Sedna
l) Oracle
A partir del siguiente código XML realiza lo siguiente:
a) Modifica la descripción del artículo con referencia 2 por: «iPhone XS».
b) Elimina el artículo con referencia 1.
c) Añade un artículo nuevo.
a. Modifica la descripción del articulo con referencia 2 por: “iPhone XS”.
replace node catalogo/articulo[2]/Descripción with iPhone XS
b. Elimina el artículo con referencia 1.
Delete node doc(‘catalogo.xml’)/catalogo/articulo[1]
c. Añade un artículo nuevo.
insert node 4Xiaomi Mi 8 LiteelectronicamovilesAzulXiaomi183imgs/xiaomilite.PNGwww.google.es into doc(‘catologo.xml’)/catalogo
Para ordenar los resultados de XSL utilizaremos la etiqueta:
d) XSL:SORT
e) XSL:VALUE
f) XSL:FOR-EACH SELECT
¿Qué selector XSL selecciona el root del XML?
g) /
h) //
i) @
¿Qué selector XSL selecciona atributos?
j) /
k) //
l) @
Práctica
Crear un proyecto XML y XSL que muestre la siguiente web:
Documento XML:
Physics-based animations Kenny Erleben Charles River Media 978-15844503804 50.06 foto.jpg Principios de seguridad informática para usuarios Carlos Garre Dykinson 978-84-9849-998-9 13.00 foto2.png |
Documento XSL:
Libreria[ ]Autor: – |
Documento CSS:
div{ border: 1px solid black; margin: 10px; border-radius: 10px; padding: 10px; } img{ width: 150px; } |