Xslt asi
Upcoming SlideShare
Loading in...5
×
 

Xslt asi

on

  • 537 views

 

Statistics

Views

Total Views
537
Views on SlideShare
533
Embed Views
4

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 4

http://electronicaciclosuperior.blogspot.com 2
http://electronicaciclosuperior.blogspot.com.es 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Xslt asi Xslt asi Presentation Transcript

  • XSLT (XML StylesheetsLanguage for Transformation)
  • Contenidos de la clase de hoyEl problema de presentar undocumento XMLXSLT: un lenguaje paratransformacionesEscribiendo documento XSL
  • El problema de presentar undocumento XMLXML no incorpora ninguna semánticaintrínseca de presentaciónXML+CSSXML+XSL (Extensible Stylesheet Language,"lenguaje extensible de hojas de estilo").Familia de lenguajes basados en XMLPermite describir cómo la información contenidaen un documento XML debe ser transformada oformateada para su presentación en un medioespecífico
  • ¿Por qué XSL?Está diseñado para integrarse en laarquitectura XML.Es mucho más potente que CSS.CSS no tiene capacidades de transformación.Cada vez hay más herramientas para XSL.
  • CSS vs. XSLXMLCSS¿Sintaxis?SINO¿Lenguajes de transformación?SISI¿Puede ser usado con XML?NOSI¿Puede ser usada con HTML?XSLCSS
  • XSLFormado por:XSLT (Extensible Stylesheet Language Transformations): permiteconvertir documentos XML de una sintaxis a otra (por ejemplo, de unXML a otro o a un documento HTML).XSL-FO (lenguaje de hojas extensibles de formateo de objetos):permite especificar el formato visual con el cual se quiere presentar undocumento XML, es usado principalmente para generar documentosPDF.XPath, o XML Path Language: sintaxis (no basada en XML) para accedero referirse a porciones de un documento XML.Estas tres especificaciones sonrecomendaciones oficiales del W3C.
  • Contenidos de la clase de hoyEl problema de presentar undocumento XMLXSLT: un lenguaje paratransformacionesEscribiendo documento XSL
  • Transformación XSLTTransformacion estructural:Los datos son convertidos de la estrucutra deentrada (xml) a una estructura que refleje lasalida deseadaFormato (pdf, html, etc.)La salida de datos, generados por la nuevaestructura se entrega en el formato requerido(PDF, HTML,coma-delimitado)
  • ¿ Por que transformar XML ?Conversión entre modelos de datosAunque legible, XML está pensado para elintercambio de información entre aplicaciones.Es necesaria una capa de presentación parahacer “amigable” el acceso de los humanos a lainformación XML.XML produce separación entre el modelo de datos ypresentación visual.
  • ¿Cómo funciona?Durante el proceso de transformación, XSLTutiliza XPath para definir partes deldocumento fuente que encajan dentro de unao mas plantillas predefinidasPor cada coincidencia, XSLT transformaráesta parte del documento fuente paragenerar el documento resultanteLa porción del documento fuente que noencaja con la plantilla permanecerá sinmodificación alguna
  • xsl:stylesheetEjemplo <xsl:template match = “ROWSET/ROW[ENAME]"><Empleado id=“NX-{EMPNO}”><xsl:value-of select= “ENAME"/></Empleado></xsl:template><ROWSET><ROW>WS<EMPNO>7839WS<ENAME>KING<Empleado> id=“NX-7839”KING....matchconstruye
  • Ejemplo básicoCreando…<?xml version = "1.0"?><xsl:stylesheet version ="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match = "miCurso"><html><body><p><xsl:value-of select= "curso"/></p></body></html></xsl:template></xsl:stylesheet><html><body><p>Curso de Lenguajes para Internet</p></body></html><?xml version= “1.0”?><?xml-stylesheet type= “text/xsl” href = “intro.xsl”?><miCurso><curso> Curso de Lenguajes para Internet </curso></miCurso>
  • Aplicación de la hoja de estilo aldocumento XMLType: “text/css” (CSS) o “text/xsl” (XSL)”<?xml-stylesheet type= “text/xsl” href = “intro.xsl”?>
  • Estructura básica de una hojaXSLTElementos de XSLT:Pertenecen al namespace xslSus etiquetas llevan el prefijo xsl: . Son el equivalente a laspalabras clave del lenguaje de programación (definidos por elestándar e interpretados por cualquier procesador de XSLT)Elementos LRE (Literal Result Elements):Son elementos que no pertenecen a XSLT, sino que se repitenen la salida sin máEjemplo: un elemento <fecha>Elementos de extensión:Son elementos no-estándar (al igual que los LRE), que sonmanejados por implementaciones concretas del procesador.Normalmente, no los utilizaremos
  • <xsl:stylesheet>Es el elemento raíz de una hoja XSLversion: Suele ser 1.0xmlns:xsl: Asigna el namespace xsl (las etiquetasde XSL empiezan por el prefijo xsl:). El valor paraXSLT suele serhttp://www.w3.org/1999/XSL/Transform<xsl:stylesheet version ="1.0"xmlns:xsl= "http://www.w3.org/1999/XSL/Transform">…</xsl:stylesheet>
  • <xsl:template>El elemento <xsl:template> se utiliza paracrear plantillas.El atributo match se utiliza para asociar unaplantilla con un elemento xmlEl valor del atributo match es una expresiónde XPath (match = "/" define todo eldocumento)
  • XPathObjetivo: Identificar elementosTienen la formanodo1/nodo2/.../nodoNEjemplo: persona/apellido/maternoDescriben un camino (path)Resultado:Un conjunto de nodosString, número o boolean
  • <xsl:template>
  • <xsl:value-of>
  • <xsl:for-each>
  • Filtrando el for-eachAhorafiltramospara quesólomuestreaquellos deartista BobDylan.
  • xsl:sortPara ordenar elfor-eachutilizamosxsl:sort y en elselect elelemento por elque queremosordenar.
  • <xsl:if>Para hacer unacondiciónusamos xsl:if .Se ejecuta elinterior del if sila condición esverdadera ysino no.
  • Xsl:choosePara una condiciónmúltiple usamosxsl:choose.Si no se cumpleninguna de lascondiciones dexsl:when seejecutará elxsl:otherwise
  • Un ejemplo condos xsl:when
  • <xsl:apply-templates>Con <xsl:apply-templates> aplica unaplantilla al propio elemento o a sus nodoshijos.Si se añade el atributo select, se indica a quénodos se les aplicarán las plantillas
  • tabla.xslbarra.xslarte.xsl
  • nokia.xslsony.xslie5.xslie4.xslnav3.xsledi_x.xslsap_y.xslflat_z.xsl
  • ReferenciasW3Schools: http://www.w3schools.comEl sitio de XSLT: http://www.xslt.comEspecificación XSL.http://www.w3.org/Style/XSLEspecificación XSLT.http://www.w3.org/TR/xslt