Extended style language (XSL)
El XSL es un lenguaje que nos permite definir una presentación o formato para un
documento XML.
24/4/07 - Un mismo documento XML puede tener varias hojas de estilo XSL que lo
muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript, sonido, etc.)
La aplicación de una hoja de estilo XSL a un documento XML puede ocurrir tanto en el
origen (por ejemplo, un servlet que convierta de XML a HTML para que sea mostrado a un
navegador conectado a un servidor de web), o en el mismo navegador (como es el caso
del MS IE5, y en breve, Netscape 5).
Básicamente, XSL es un lenguaje que define una transformación entre un documento XML
de entrada, y otro documento XML de salida.
Una hoja de estilo XSL es una serie de reglas que determinan cómo va a ocurrir la
transformación. Cada regla se compone de un patrón (pattern) y una acción o plantilla
(template).
De este modo, cada regla afecta a uno o varios elementos del documento XML. El efecto
de las reglas es recursivo, para que un elemento situado dentro de otro elemento pueda
ser también transformado. La hoja de estilo tiene una regla raiz que, además de ser
procesada, llama a las reglas adecuadas para los elementos hijos.
Vamos a ver un ejemplo de todo esto:
<libro>
<titulo>Un título cualquiera</titulo>
<capitulos>
<capitulo>
<titulo>Capítulo 1</titulo>
<parrafo>....</parrafo>
<parrafo>....</parrafo>
</capitulo>
<capitulo>
<titulo>Capítulo 2</titulo>
...
</capitulo>
</capitulos>
</libro>
Queremos convertir este documento XML en HTML bien-formado, de la siguiente manera:
<HTML>
<HEAD>
<TITLE>Un título cualquiera</TITLE>
</HEAD>
<BODY>
<H1>Un título cualquiera</H1>
<HR>
<H2>Capítulo 1</H2>
<P>...</P>
<P>...</P>
<HR>
<H2>Capítulo 2</H2>
<P>...</P>
</BODY>
</HTML>
La hoja de estilo XSL necesaria sería algo parecido a lo siguiente:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="libro">
<HTML>
<HEAD>
<TITLE><xsl:process select="titulo"/></TITLE>
</HEAD>
<BODY>
<H1><xsl:process select="titulo"/></H1>
<xsl:process select="capitulos"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="capitulos">
<xsl:process select="capitulo">
</xsl:template>
<xsl:template match="capitulo">
<HR/>
<H2><xsl:process select="titulo"/></H2>
<xsl:process select="parrafo"/>
</xsl:template>
<xsl:template match="parrafo">
<P><xsl:process-children/></P>
</xsl:template>
</xsl:stylesheet>
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 1 comentario no revisado
| Autoría, licencia y acciones sobre este artículo |
|
Informe de Alfredo Reino Romero
Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
XML
| Comentarios sin revisar |
|
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
|
Se ha encontrado un comentario sin revisar
Ir arriba