XML XSL CI2413 Desarrollo de Aplicaciones para Internet

  • Slides: 19
Download presentation
XML / XSL CI-2413 Desarrollo de Aplicaciones para Internet

XML / XSL CI-2413 Desarrollo de Aplicaciones para Internet

Espacios de nombre XML l Los espacios de nombres de XML se han creado

Espacios de nombre XML l Los espacios de nombres de XML se han creado para tener la posibilidad de utilizar varios elementos con el mismo nombre dentro del mismo documento. Este sistema permite adjuntar un URL al nombre de un elemento para proporcionar al procesador de XML la posibilidad de relacionar los diferentes elementos con la fuente correcta. Esto funciona tanto con nombres de elemento como con nombres de atributo, por lo que un atributo font utilizado dentro de un documento con formato estándar de XML o un font utilizado con la notación de Math. ML se pueden interpretar por separado aplicando las reglas de hojas de estilo correctas.

Espacios de nombre XML l Notación: l <nombre_elemento xmlns: prefijo=“url_de_espacio_de_nombres”> l V. G. :

Espacios de nombre XML l Notación: l <nombre_elemento xmlns: prefijo=“url_de_espacio_de_nombres”> l V. G. : l <MATH xmlns: mm=”http: //www. w 3. org/TR/REC-Math. ML”>

XSL l XSL está separado en dos: transformaciones y formato. El vocabulario para transformaciones

XSL l XSL está separado en dos: transformaciones y formato. El vocabulario para transformaciones y el otro para entregar el contenido de documentos se denominan, respectivamente, XSLT y XSL. El que aún se denomina de forma oficial como XSL se conoce comúnmente como XSLFO.

Transformaciones XSL l Muchas veces el contenido de un documento XML necesita asumir otra

Transformaciones XSL l Muchas veces el contenido de un documento XML necesita asumir otra forma para resultar más útil. El estándar más popular para llevar a cabo modificaciones al formato del contenido basado en XML, es el lenguaje de transformaciones de hojas de estilo extensible (XSLT, e. Xtensible Stylesheet Language Transformations). XSLT se utiliza en conjunción con XPath para localizar fragmentos específicos de los documentos.

Conceptos de XSLT l Árbol l fuente y árbol resultado Considere el ejemplo realizado

Conceptos de XSLT l Árbol l fuente y árbol resultado Considere el ejemplo realizado en el laboratorio. El documento XML puede ser visto como el árbol fuente y el árbol resultado sería el documento HTML generado después de aplicar las transformaciones XSLT.

Conceptos de XSLT l Nodos y tipos de nodos. l l Un nodo equivale

Conceptos de XSLT l Nodos y tipos de nodos. l l Un nodo equivale a un componente lógico discreto del documento XML (nodos del árbol). Tipos: l l l l Nodo raíz (root). Nodos elemento (element). Nodos atributo (attribute). Nodos texto (text). Nodos PI (processing instruction). Nodos comentario (comment). Nodos espacio de nombres (namespaces).

Conceptos de XLST l Los siete tipos de nodos anteriores comprenden todo lo que

Conceptos de XLST l Los siete tipos de nodos anteriores comprenden todo lo que puede aparecer dentro de un documento XML. Dado un árbol fuente, una vez localizado un nodo, con XSLT es posible transferirlo sin modificar a un nodo del árbol resultado, transferirlo con modificaciones o no transferirlo. Pero, ¿cómo se encuentra un nodo? Se utilizan expresiones XPath.

XPath l XPath NO es un vocabulario XML, sino que define un mecanismo para

XPath l XPath NO es un vocabulario XML, sino que define un mecanismo para la utilización de cadenas de texto con formato especial. l Una expresión completa de XPath se codifica como un trayecto de búsqueda, que se compone de uno o varios pasos de búsqueda delimitados. l V. G. (laboratorio): /product. DB/product/price

XPath l Contexto A medida que un procesador compatible con XPath avanza a lo

XPath l Contexto A medida que un procesador compatible con XPath avanza a lo largo de un trayecto de búsqueda, cada paso de búsqueda se considera en el contexto de los precedentes. l V. G. : En el laboratorio cuando utilizamos la expresión XPath “. . /version” se debió porque nos encontrábamos en el nodo contexto “name”. l

XPath l Sintaxis l de un paso de búsqueda eje: : comprobación_de_nodo[predicado]

XPath l Sintaxis l de un paso de búsqueda eje: : comprobación_de_nodo[predicado]

XPath l El eje l l l l self attribute child parent descendant-or-self ancestor-or-self

XPath l El eje l l l l self attribute child parent descendant-or-self ancestor-or-self l l l preceding-sibling following-sibling namespace

XPath l Formas abreviadas para ejes . = self: : node() l. . =

XPath l Formas abreviadas para ejes . = self: : node() l. . = parent: : node() l @ = attribute: : comprobación_de_nodo @comprobación_de_nodo l // = descendant-or-self: : node() l

XPath l Comprobación l Tipo de nodo l l de nodo node(), text(), comment()

XPath l Comprobación l Tipo de nodo l l de nodo node(), text(), comment() o processinginstruction() Nombre Es la comprobación de nodo más frecuente. l parent: : version l parent: : * l l PI específica l descendant: : processing-instruction(“for-each”)

XPath l El predicado nodo operador valor l operador l l l V. G.

XPath l El predicado nodo operador valor l operador l l l V. G. l l =, >, <, >=, <=, != product[version = “ 1. 0”] Comprobación de la existencia de un nodo product[price] l price[@currency != “”] l

XPath l Valores de nodo Node-set l String l Numérico l Booleano l l

XPath l Valores de nodo Node-set l String l Numérico l Booleano l l Funciones l de XPath Para cada uno de los tipos de nodo anteriores hay funciones. (Investigar)

Transformaciones de XML con XSLT l La siguiente es la sintaxis general de la

Transformaciones de XML con XSLT l La siguiente es la sintaxis general de la etiqueta de comienzo del elemento xsl: stylesheet: <xsl: stylesheet version=“número” xmlns: xsl=“http: //www. w 3. org/1999/XSL/Transform” [otras declaraciones de espacios de nombres] id=“id” extension-element-prefixes=“prefijos” exclude-result-prefixes=“prefijos”>

Transformaciones de XML con XSLT l Transformación a HTML: <xsl: stylesheet version="1. 0“ xmlns:

Transformaciones de XML con XSLT l Transformación a HTML: <xsl: stylesheet version="1. 0“ xmlns: xsl="http: //www. w 3. org/1999/XSL/Transform“ xmlns="http: //www. w 3. org/TR/REC-html 40">

Transformaciones de XML con XSLT l Investigar todos los elementos xsl: * l Examen

Transformaciones de XML con XSLT l Investigar todos los elementos xsl: * l Examen corto sobre XSL durante la próxima lección teórica.