Haz clic aquí para volver a la página de inicio
    Haz clic aquí para ver los contenidos RSS

"Bienvenidos a la página web de CMM INSTALACIONES Y SERVICIOS INTEGRALES".

Búsqueda personalizada

Tutorial XSL


¿Qué es un XSL?


Las XSL, traducible como ("lenguaje extensible de hojas de estilo"); Una hoja de estilo XSL es, al igual que con CSS , un archivo que describe cómo mostrar un documento XML


Lo cierto és que XSL consta de tres partes o subfamilias :


-XSLT: Es un lenguaje para transformar documentos XML

-XPATH: Es un idioma para navegar en documentos XML

-XSL-FO: Es un lenguaje para el formato de documentos XML


En este tutorial nos centrarremos en XSLT .


¿Cómo funciona XSLT?


XSLT se utiliza para transformar un documento XML y, que este, pueda ser reconocido por un navegador, como HTML.


XSLT utiliza XPath


XSLT utiliza XPath para encontrar información en un documento XML. XPath se utiliza para navegar a través de elementos y atributos en los documentos XML.


¿Como crear nuestro XSLT?


El elemento raíz


< xsl:stylesheet> o < xsl:transform>; es/són los dos posibles elementos raíz que podemos utilizar para decirle al navegador que el documento XML es una hoja de estilo XSL.


Nuestro XSLT quedaria así:


< xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

o:

< xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


Como ya hemos comentado, una hoja de estilo XSL utiliza XPath para encontrar información en un documento XML.

Pues bien, XSL consta de uno o varios elementos XPath llamados templates o plantillas.


El elemento < xsl:template>


El elemento < xsl:template> se utiliza para crear templates o plantillas.

El atributo match se utiliza para asociar una plantilla con un elemento XML.

Aunque también se puede utilizar el atributo match para definir un modelo para todo el documento XML.

El valor del atributo match es una expresión de XPath (es decir match = "/" define todo el documento).


< xsl:value-of> Elemento


El elemento < xsl:value-of> se utiliza para extraer el valor de un elemento XMLy añadirlo a la secuencia de salida de la transformación:

Ejemplo:



El elemento < xsl:for-each>


El elemento < xsl: for-each> se puede utilizar para seleccionar todos los elementos XML y hacer un bucle en una hoja de estilo XSL

Ejemplo:


El elemento < xsl:sort>


El elemento < xsl: sort> se utiliza para ordenar nuestra lista, según el orden alfabético o el orden numérico.

¿Dónde poner la información sort?

Para ordenar nuestra lista, sólo tenemos que añadir un elemento < xsl: sort> dentro del elemento < xsl: for-each> y seleccionar un atributo,ya sea "loc"(para orden alfabético) o "fecha" (para orden numérico), en una hoja de estilo XSL; ( en este caso concreto, no nos interesa ordenarlas)


Elementos Condicionales


Bien para el tema de personalizar nuestro sitemap no vamos a utilizar los elementos condicionales, pero os los explico un poco por encima para que sepais que existen.


El elemento < xsl:if>


El elemento < xsl: if> se utiliza como condicional. Este elemento lo tendriamos que añadir dentro de < xsl: for-each> ( en este caso, este elemento tampoco nos interesa, pues no queremos condicionar nada).


El elemento < xsl:choose>


El elemento < xsl: choose> se utiliza en conjunción con < xsl: when> y < xsl: otherwise> para expresar múltiples pruebas condicionales.


Bien ahora imaginemos que no queremos tener nuestro sitemap en tablas. Imaginemos por un momento que pudiéramos utilizar un párrafo como si estuviéramos codificando en HTML


Elementos < xsl:apply-templates>


El elemento < xsl:apply-templates> se aplica una plantilla al elemento actual o nodos secundarios del elemento actual.

Bien si recordais, ya hablamos del elemento template o plantilla. Tambien dijimos que el atributo match definia todo el documento.

Por eso ahora definiremos una/varias plantilla/s o template/s dentro de "match" con el elemento < xsl:apply-templates>.


Ejemplo:



Si os interesa el tema ya lo ire mejorando y puliendo; pues a veces es complicado explicar con pocas palabras un lenguaje

tan extenso como este.También agradecer a mis compis de CCTW su paso por esta sección que mayormente fue creada

para ellos. Para los que echéis de menos un foro os recuerdo que en la sección del webmaster me podéis enviar mails.


siguenos en twitter visitanos en facebook