unidaddidáctica7.1_xslt-curso2014-15

Upload: taboada11

Post on 03-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    1/43

    JJ Taboada LenIES San Sebastin, Departamento de Informtica

    LENGUAJE DE MARCAS Y SGICurso 2014 / 2015

    Unidad 77.1 XSLT y XPATH

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    2/43

    Guon del tema

    Qu es XSLT?

    Aplicacin de las

    transformaciones Estructura y sintxis

    XSLT

    Elemetos XSLT XSLT con CSS

    EJERCICIOS

    Transformar documentos

    XML con Notepad++ y

    Dreamwaver

    Prcticas con XML, XSLT,

    HTML y CSS

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    3/43

    QU ES XSLT? XSLT (eXtensible Stylesheet LanguageTransformations),

    Lenguaje de hoja de estilo ampliable para transformaciones Describe un lenguaje basado en XML para transformar documentos

    XML a cualquier otro formato

    XSLT es el lenguaje de hojas de estilo recomendado de XML. XSLT es mucho ms sofisticado que el CSS.

    XSLT puede ser utilizado para transformar documentos XML enHTML, antes de ser mostrados en un navegador.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    4/43

    Aplicacin de las transformaciones

    Utilizaremos XSLT para transformar documentos entre esquemas

    XML que permitan su procesamiento por distintos sistemas Utilizaremos XSLT para transformar documentos XML en HTML,

    WML, o cualquier otro formato que facilite su presentacin en lapantalla de un ordenador o en impresora

    La transformacin de XML a HTML es el principal uso que sehace de XSLT

    WML(Wireless Markup Language)

    lenguaje que se utiliza para construir las

    pginas que aparecen en las pantallas de

    los telfonos mviles y los asistentes

    personales digitales (PDA)

    http://es.wikipedia.org/wiki/PDAhttp://es.wikipedia.org/wiki/PDA
  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    5/43

    Aplicacin de las transformaciones No debemos confundir lastransformaciones XSLT con la

    presentacin de documentos XML conCSS

    Con XSLT, generaremos un documentoHTML a partir de un documento XML.Se tratar de dos documentos distintos

    Con CSS, el navegador recibe undocumento XML que formatea utilizandolas reglas CSS para presentarlo en pantallade forma que sea ms fcilmente legible,pero es el mismo documento

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    6/43

    HERRAMIENTAS Actualmente contamos con varias herramientas para realizar

    transformaciones XSLT: Saxon, desarrollado en Java por Michael Kay (un gur de XSLT)

    xt, diseado por James Clark

    Dreamweaver XMLspy

    En las prcticas usaremos Notepad++ con el complemento XMLtools yDreamweaver

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    7/43

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    8/43

    Estructura de una hoja de estilo XSLT (II)

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    9/43

    Estructura de una hoja de estilo XSLT (III) Entre las marcas de inicio y de fin del elemento raz xsl:stylesheet,

    se escribirn las reglas de transformacin que se llamanplantillas

    Cada regla se definir mediante un elemento xsl:template (una

    plantilla) Se utiliza el atributo match para asociar una plantilla con un

    elemento XML. El atributo match tambin se puede utilizar paradefinir un modelo para todo el documento XML. El valor del

    atributo match es una expresin de XPath (eje. match = "/"define todo el documento).

    La regla indica qu instancias de los elementos del documentoXML se van a transformar.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    10/43

    Estructura de una hoja de estilo XSLT (IV)REGLAS DE TRANSFORMACIN

    EJEMPLO:

    La regla se aplicar a todas las instancias del elemento nombre. Esto se indica mediante elatributo match que acompaa al elemento xsl:template.

    Entre las etiquetas de inicio y de fin del elemento xsl:template se escribe la transformacin

    que se debe realizar... es decir, qu texto y qu marcas se escribirn en el documento resultado de la

    transformacin, cada vez que se encuentre una instancia del elemento nombre en eldocumento origen.

    Con , se recupera y escribe en el documento resultado el contenido delelemento que est siendo procesado.

    rbol de origen al que seaplica esta plantilla

    salida

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    11/43

    Ejemplo de transformacin XSLT (I)Documento XML

    Madrid

    3500000

    Huelva150000

    Toledo50000

    Documento XML

    Referencia aldocumento XSL

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    12/43

    Ejemplo transformacin XSLT (II)Documento xsl

    Ejemplo XSLT

    CIUDADES DE ESPAA

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    13/43

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    14/43

    Resultado

    El resultado de la transformacin es el siguiente:

    Ejemplo XSLT

    CIUDADES DE ESPAA Madrid

    MlagaToledo

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    15/43

    Ejemplossimple.xml

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    16/43

    Simple.xsl

    Ejemplo XSLT simple

    Nombre encontrado

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    17/43

    Actividades

    1. Con Notepad++ escribir cada uno de los ejemplos anteriores yhacer todas las pruebas que se os ocurran.2. Con Notepad++, crear una primera hoja de estilo XSLT que, a

    partir del documento XML tienda1.xml (este documento se encuentraen adjunto), extraiga en un documento HTML los artculos de latienda

    3. Formatear la lista de artculos para que se presente como una lista noordenada (sin numerar), de HTML4. Cambiar la hoja de estilo XSLT para que los artculos se presenten en

    una tabla con una nica columna5. Cambiar la hoja de estilo para que los artculos se presenten en una

    tabla con dos columnas. En la primera de ellas se escribir un textofijo: ARTICULOS DE MI TIENDA

    6. Aplicar esta ltima hoja de estilo al documentos XMLtiendecilla.xml(este documento se encuentra en adjunto).

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    18/43

    El elemento I)

    En el elemento se puede indicar que se quieremostrar el valor del elemento que estamos procesando Tambin podemos indicar que queremos mostrar el valor de un

    elemento hijo, o descendiente, del elemento que se est procesando En el ejemplo anterior, podramos utilizar xsl:value-of para mostrar en

    el documento resultado de la transformacin el artculo, la marca y elmodelo de cada producto.

    Esto es posible porque en el atributo select podemos utilizar unaexpresin XPATH

    XPATH es un lenguaje que nos permite direccinarnos a las seccionesde un documento XML y obtener las partes de la informacin quedeseamos (nodo de contexto)

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    19/43

    El elemento (II)

    Por ejemplo, para mostrar el valor del elemento articulo, que es unhijo del elemento producto, podramos utilizar la siguiente regla:

    El valor del atributo select se puede leer de la siguiente forma: dameel valor del elemento articulo que es hijo del elemento que estoyprocesando. En este caso, cada uno de los elementos producto

    Esto se indica mediante ./

    Seleccin de nodos

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    20/43

    Actividades

    Utilizando el documentotienda1.xml, crear una hoja XSLT quetransforme el documento xml en un documento HTML con lasiguientes especificaciones:

    El documento HTML deber mostrar una tabla. La tabla contendr unafila para cada producto. Las filas tendrn tres celdas, en la que aparecer el cdigo, el artculo y la

    cantidad.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    21/43

    Resumen

    En las reglas XSLT, entre sus marcas de inicio y de fin, se puedeincluir:

    Texto que se escribir tal cual en el documento resultado de latransformacin.

    Marcas HTML o XML que se aadiran al documento resultado dela transformacin.

    Elementos reservados de la especificacin XSLT que realizarn

    una accin como recuperar el valor de un elemento, ordenar losresultados, llamar a otras reglas de la hoja de estilo, etc (llamadasexpresiones XPATH).

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    22/43

    Procesamiento de nodos por lotes

    El elemento permite hacer unbucle en XSLT se puede utilizar para

    seleccionar todos loselementos XML del nodoactual

    Actividad Aplicarlo en tiendecilla

    CIUDADES DE ESPAA

    CiudadesHabitantes

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    23/43

    Orden de procesamiento

    Las reglas se van activando y ejecutando a medida que se recorre eldocumento origen que se quiere transformar. De esta forma, las reglas se ejecutan en el orden en el que se van

    encontrando los elementos en el documento. Este comportamiento por defecto puede cambiarse en las hojas de

    estilo XSLT, a diferencia de lo que suceda en las hojas de estilo CSS Esto permite reordenar los contenidos del documento XML, de

    una forma distinta a como estn ordenadas en el documento XMLinicial

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    24/43

    Orden de procesamiento

    Para ordenar los contenidos, se utiliza el elemento xsl:sort xsl:sort es un elemento hijo de xsl:apply-templates Acepta dos atributos:

    selectque toma como valor el nombre del elemento que se va a utilizar comocriterio de ordenacin y

    orderque indica si se debe utilizar un orden ascendente o descendente.

    ACTIVIDADES1. Modificar la hoja xsl del ltimo ejercicio (salida en tres columnas) para que los

    artculos se ordenen en orden descendente.

    2. Aplicar la hoja de estilo XSL a tiendecilla, pero ordenado por cantidad.(especificardata-type)

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    25/43

    Asociar una hoja de estilo XSL a un documento

    Debemos incluir, tras la declaracin XML, la siguiente instruccinde procesamiento:

    Ejemplo

    Programar ASP

    4562001

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    26/43

    Leer y obtener el valor de atributos en XSLT

    En XSLT podemos filtrar o indicar qu instancias de un elemento queremosprocesar, tomando como criterio de seleccin el valor de los atributos que acompaan

    a los elementos Para hacer esto, en un elemento xsl:value-of, podemos recuperar el valor de un

    atributo mediante la expresin @nombreAtributo , por ejemplo:

    ACTIVIDADES: Disear una hoja de estilo paratiendecilla.xml que presente los datos en una

    tabla donde aparezcan el rticulo, la cantidad y el precio junto con la moneda de cada producto.

    Deepak Chopra

    El sendero del Mago

    950-15-1727

    Harmany Book... nos muestra cmo debemos ... Por medio de

    historias como

    /tr>

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    27/43

    Elemento xsl:if

    El elemento contiene una plantilla que se aplicarslo si la condicin especificada es verdadera.

    SINTAXIS

    OPERADORES XSL

    Igualdad (=) =

    Desiguldad () !=

    Menor que () >

    EJEMPLO

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    28/43

    Elemento xsl:choose

    El elemento se utiliza en conjuncin con y para expresar mltiplespruebas condicionales.

    SINTAXIS

    ... Hacer algo...

    ...

    ... Hacer algo ....

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    29/43

    Ejemplo de xsl:choose

    EJEMPLO

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    30/43

    Actividades

    1. Aadir a tiendecilla.xml dos productos nuevos. Susprecios sern 100 y 350 respectivamente.

    2. Disear una hoja de estilos xsl para que los artculos conprecio menores o iguales que 100 aparezcan en color

    verde, los artculos con precios >100 y < 1000 decolor azul y el resto rojo.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    31/43

    RESUMEN ELEMENTOS XSLT (1)

    xsl:apply-imports Invoca una regla de plantilla reemplazada.

    xsl:apply-templates Dirige el procesador XSLT para que busque la plantilla adecuada que se debe aplicar, segn el tipoy el contexto del nodo seleccionado.

    xsl:attribute Crea un nodo de atributo y lo asocia a un elemento resultante.

    xsl:attribute-set Define un conjunto de atributos con nombre.

    xsl:call-template Invoca una plantilla por nombre.xsl:choose Proporciona mltiples pruebas condicionales junto con los

    elementos y .

    xsl:comment Genera un comentario en el resultado.

    xsl:copy Copia el nodo actual del origen al resultado.

    xsl:copy-of Inserta subrboles y fragmentos del rbol de resultados en el rbol de resultados.

    xsl:decimal-format Declara un formato-digital, que controla la interpretacin de un modelo de formato utilizado por

    la funcin format-number.xsl:element Crea un elemento con el nombre especificado en el resultado.

    xsl:fallback Llama al contenido de la plantilla que puede proporcionar un sustituto razonable alcomportamiento del nuevo elemento cuando se encuentre.

    http://msdn.microsoft.com/es-es/library/ms256178(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256184(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256165(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256163(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256487(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256169(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256145(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256128(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256183(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256092(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256047(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256234(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256234(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256047(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256092(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256092(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256092(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256183(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256183(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256183(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256128(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256145(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256169(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256487(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256487(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256487(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256163(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256163(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256163(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256165(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256184(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256184(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256184(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256178(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256178(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256178(v=vs.80).aspx
  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    32/43

    RESUMEN ELEMENTOS XSLT (2)xsl:for-each Aplica una plantilla repetidamente, aplicndola a su vez en cada nodo de un conjunto.

    xsl:if Permite obtener fragmentos de plantillas condicionales simples.

    xsl:import Importa otro archivo XSLT.

    xsl:include Incluye otro archivo XSLT.

    xsl:key Declara una clave para utilizar con la funcin key() en expresiones de lenguaje de rutaXML (XPath).

    xsl:message Enva un mensaje de texto al bfer del mensaje o al cuadro de dilogo del mensaje.

    xsl:namespace-alias Sustituye el prefijo relacionado con un espacio de nombres dado por otro prefijo.

    xsl:number Inserta un nmero con formato en el rbol de resultados.

    xsl:otherwise Proporciona mltiples pruebas condicionales junto con loselementos y .

    xsl:output Especifica las opciones que se deben utilizar a la hora de serializar el rbol de resultados.

    xsl:param Declara un parmetro con nombre que se puede utilizar dentro de unelemento o un elemento . Permite especificar un valor

    predeterminado.xsl:preserve-space Conserva los espacios en blanco en un documento.

    xsl:processing-instruction Genera una instruccin de proceso en el resultado.

    http://msdn.microsoft.com/es-es/library/ms256166(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256209(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256126(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256094(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256203(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256441(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256448(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256084(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256147(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256187(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256096(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256144(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256461(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256461(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256461(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256461(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256144(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256144(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256144(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256096(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256187(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256147(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256084(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256448(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256448(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256448(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256441(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256203(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256094(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256126(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256209(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256166(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256166(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256166(v=vs.80).aspx
  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    33/43

    RESUMEN ELEMENTOS XSLT (3)msxsl:script* Define variables y funciones globales para extensiones de secuencias de comandos.

    xsl:sort Especifica los criterios de ordenacin para las listas de nodos seleccionadas por o .

    xsl:strip-space Elimina espacios en blanco en un documento.

    xsl:stylesheet Especifica el elemento de documento en un archivo XSLT. El elemento de documento contieneotros elementos XSLT.

    xsl:template Define una plantilla reutilizable para generar los resultados deseados para los nodos de un tipoy contexto en particular.

    xsl:text Genera texto en el resultado.

    xsl:transform Lleva a cabo la misma funcin que .

    xsl:value-of Inserta el valor del nodo seleccionado como texto.

    xsl:variable Especifica un valor enlazado de una expresin.

    xsl:when Proporciona mltiples pruebas condicionales junto con loselementos y .

    xsl:with-param Pasa un parmetro a una plantilla.

    http://msdn.microsoft.com/es-es/library/ms256042(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256196(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256473(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256204(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256110(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256107(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256040(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256181(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256447(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256164(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256091(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256091(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256091(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256091(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256164(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256447(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256181(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256181(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256181(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256040(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256107(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256110(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256204(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256473(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256473(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256473(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256196(v=vs.80).aspxhttp://msdn.microsoft.com/es-es/library/ms256042(v=vs.80).aspx
  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    34/43

    Resumen de funciones XPATH Existe una gran cantidad de funciones que se pueden usar en

    las expresiones XPATH

    Tipos: Funciones de nodo name(), node(), text() Funciones de posicinposition(), last(), count(), Funciones numricas number(), sum(), Funciones booleanasboolean(), not(), true(), false() Funcones de cadenastring(), string-length(), contains(),

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    35/43

    Uso de XSLT en Dreamwaver

    Dreamweaver proporciona mtodos para crear pginas XSLT que admitantransformaciones XSL en el lado del servidor y en el lado del cliente

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    36/43

    Crear una pgina XSL Se pueden crear pginas XSL o fragmentos (sin html) que

    permitan mostrar datos XML en pginas Web.Para crear una pgina XSL:1. Configure un sitio de Dreamweaver.

    2. Seleccione Archivo > Nuevo.

    3. En la ficha General del cuadro de dilogo Nuevo documento, seleccione Pgina bsicaen la columna Categora y, despus, realice una de las siguientes opciones:

    1. Seleccione XSLT (pgina completa) en la columna Pgina bsica para crear unapgina XSLT completa.

    2. Seleccione XSLT (fragmento) en la columna Pgina bsica para crear un fragmentode XSLT.

    4. Haga clic en Crear. Aparece el cuadro de dilogo Buscar origen XML para adjuntar unafuente de datos XML.

    5. Seleccione Adjuntar un archivo local en mi equipo o en la red de rea local

    6. Guarde la nueva pgina (Archivo > Guardar) con la extensin .xsl o .xslt (.xsles la extensin predeterminada).

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    37/43

    Visualizacin de datos XML en pginas XSL

    Para mostrar los datos XML:

    1. Abra una pgina XSL con una fuente de datos XMLadjunta.

    2. (Opcional) Seleccione Insertar > Tabla para aadir unatabla a la pgina.

    3. En la mayora de los casos, conviene utilizar el objeto

    XSLT Repetir regin para mostrar elementos XMLrepetidos en una pgina. Si ste fuera el caso, puederesultar conveniente crear una tabla de una sola fila conuna o varias columnas, o bien una tabla de dos filas sidesea incluir un encabezado de tabla.

    4. En el panel Vinculaciones, seleccione un elemento XMLy arrstrelo hasta el lugar de la pgina en el que deseainsertar los datos.

    5. Obtenga una vista previa de su trabajo en un navegador(Archivo > Vista previa en el navegador)

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    38/43

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    39/43

    Actividades Utilizando Dreamwaver crear un documento XSL para

    tiendecilla.xml que genere un documento HTML dondeaparezca en una tabla todos los producto de la mismaindicando el cdigo, artculo, marca y modelo, ordenados

    por marca. Aadir una hoja de estilo CSS para que dicho documento

    HTML presente la mejor apariencia.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    40/43

    Conversin de pginas HTML en pginas XSLT

    Abra la pgina HTML que desea convertir. Seleccione Archivo > Convertir > XSLT 1.0.

    Se abre una copia de la pgina en la ventana de documento conextensin xsl

    Una vez convertida podemos vincular un documento xml:Para ello seleccionar Ventana/vinculaciones

    Ya podemos aadir datos xml a nuestra pgina XSL

    Actividad: Crear una pgina html, convertirla en xsl y mostrar datos detiendecilla.xml en la misma mediante una tabla.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    41/43

    Actividad I: xml-xsl-css

    Crear un fichero XML que almacene datos de un catlogo de mviles. Debe almacenar los siguientes datos:

    Marca Modelo. Como atributo tendr si es 3G o 4G Caractersticas (sistema operativo, dimensiones, conectividad, memoria interna, procesador) Imagen del mvil si es posible (nombre de un fichero .gif . El fichero debe estar almacenado en

    mismo directorio o carpeta que el fichero XML Precio Comentarios

    Debe almacenar al menos 10 mviles

    Crear un documento XSL llamado movil1.xsl que muestre una tabla con todos los datosincluso la imagen

    Crear un documento XSL llamado movil2.xsl que muestre una tabla con la Marca,

    modelo y precio resaltando con color verde los modelos con 3G y en rojo los modeloscon 4G Crear un documento XSL llamado movil3.xsl junto con una hoja de estilos movil.css que

    muestre una tabla slo aquellos mviles con sistema operativo Android.

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    42/43

    Actividad II: xml-xsl-css

    Crear un fichero XML que almacene datos de un diccionario bilinge inglsespaol.

    Debe almacenar los siguientes datos: Palabra con atributo indicando el tipo (sustantivo, adjetivo, verbo, adverbio, etc) Transcripcin fontica Traduccin1 Traduccin2 Imagen de referencia si es posible (nombre de un fichero .gif . El fichero debe estar

    almacenado en mismo directorio o carpeta que el fichero XML Ejemplo en frase en ingls

    Debe almacenar al menos 15 palabras

    Crear un documento XSL llamado diccionario1.xsl que muestre una tabla con

    todos los datos incluso la imagen Crear un documento XSL llamado verbos.xsl que muestre una tabla con la

    palabra en ingls y su traduccin que sea verbo Crear un documento XSL llamado sustantivos.xsl junto con una hoja de estilos

    sustativos.css que muestre una tabla con la palabra en ingls y su traduccin quesea sustantivo

  • 8/12/2019 UnidadDidctica7.1_XSLT-curso2014-15

    43/43

    Unidad 7

    7.1 XSLT y XPATH

    Fin de la presentacin

    Gracias!