Sie sind auf Seite 1von 23

1.-Que es XML?

1.1-Caracteristicas de XML
1.1.1Sintaxis de XML
1.1.2-Estuctura basica
2.-Que es XSLT?
2.1-Caracteristicas de XSLT
2.2-Sintaxis de XSLT
3-Interaccion de XML y XSLT
3.1Procesadores
3.2-Funcionalidad del Procesador
3.3-Transformacion Directa
3.4- Transformacion usando algun IDE
3.5-Configuracion del IDE Netbeans
3.5.1-Instalando plugins
3.5.2-Depuracion Local
3.5.3- Procesamiento con Navegador
4- Explorando etiquetas XSL
4.1 La instruccin <xsl:value-of>
4.2-La instruccin <xsl:text>
4.3-La instruccin <xsl:attribute>
4.4-La instruccin <xsl:apply-templates>
4.5-La instruccion <xsl:if>
4.6-La instruccion <xsl:for-each>
4.7-La instruccion <xsl:choose>

1.-Que es XML?
XML, sigla en ingls de Extensible Markup Language (lenguaje de marcas extensible), es
un metalenguaje de etiquetas desarrollado por el denominado World Wide Web Consortium.
La base del XML es la introduccin de datos estructurados en un fichero de texto mediante
una serie de reglas, creando archivos fcilmente generados y ledos por un ordenador, cuya
principal utilizacin consiste en permitir compartir estos datos a todos los niveles, por todas
las aplicaciones y soportes.
De la misma forma que el lenguaje HTML, el XML utiliza tags -etiquetas- y atributos para
su definicin, pero HTML combina la interpretacin de los datos con la presentacin de estos
,mientras que el lenguaje XML usa las etiquetas slo para delimitar datos, y deja su
interpretacin, a la aplicacin que los lee.
XML es una tecnologa potenciada por un Internet creciente, ya que existen muchos sistemas
distintos que tienen que comunicarse entre s.
1.1-Caracteristicas de XML
1.1.1Sintaxis de XML
XML se escribe en un documento de texto ASCII, igual que el HTML la cabecera del texto
se inicializa con el siguiente comando:
<?xml version="1.0"?>
En el resto del documento se deben escribir etiquetas como las de HTML.

<ETIQ1>...<ETIQ2>...</ETIQ2>...</ETIQ1>
Cualquier etiqueta puede tener atributos.
<ETIQ atributo1="valor1" atributo2="valor2"...>
Los comentarios de XML se escriben igual que los de HTML.
<!-- Comentario -->
Para definir qu etiquetas y atributos debemos utilizar al escribir en XML tenemos que
fijarnos en la manera de guardar la informacin de una forma estructurada y ordenada.
1.1.2-Estuctura basica
Elementos anidados: Todos los elementos deben contener elementos completos, es decir,
deben contener tanto la etiqueta de apertura como la de cierre. Por tanto se debe respetar el
orden inverso al de apertura a la hora de cerrarlos.
{ <elemento1><elemento2>...</elemento2></elemento1> }
Atributos entre comillas: Todos los atributos de los elementos deben tener su valor entre
comillas. Pudindose elegir entre comillas simples o dobles.
{ <elemento atributo="valor"> = <elemento atributo='valor'> }
Maysculas y minsculas: Las etiquetas en XML, a diferencia con el HTML, diferencian
entre maysculas y minsculas.
Cerrar elementos: Todos los elementos deben cerrarse con la etiqueta correspondiente.
{ <elemento>...</elemento> }
Elementos vacos: Los elementos que no contengan nada pueden abrir y cerrarse con una
nica etiqueta
{ <elemento/> }
2.-Que es XSLT?
El XSLT forma parte de la familia de lenguajes del XSL (siglas de Extensible Stylesheet
Language), basados en el estndar XML que permite describir cmo la informacin contenida
en un documento XML cualquiera debe ser transformada o formateada para su presentacin en
un medio.
Desde 1997 varias empresas informticas como Arbortext, Microsoft e Inso se pusieron a
trabajar en una propuesta de XSL (antes llamado "xml-style") que presentaron al W3C y cuyo
fin era permitir modificar el aspecto de un documento. Con las hojas de estilo ya se podan
lograr algunas mejoras en el aspecto del documento, pero XSL permite otras muchas
aplicaciones como mltiples columnas, orden de visualizacin de los datos de una tabla,

mltiples tipos de letra con amplia variedad en los tamaos, etc.


2.1-Caracteristicas de XSLT
La familia de lenguajes XSL est compuesta por tres tipos:
XSLT que permite convertir documentos XML de una sintaxis a otra (por ejemplo, de
un XML a otro o a un documento HTML).
XSL-FO (lenguaje de hojas extensibles de formateo de objetos), que permite
especificar el formato visual con el cual se quiere presentar un documento XML.
XPath, o XML Path Language, es una sintaxis (no basada en XML) para acceder o
referirse a porciones de un documento XML.
Las hojas de estilo separan la informacin (almacenada en un documento XML) de su
presentacin, usando en cada caso las transformaciones que sean necesarias para que el
contenido aparezca de la forma ms adecuada en el cliente. Se pueden usar diferentes hojas de
estilo, o incluso la misma, para presentar la informacin de diferentes maneras dependiendo de
la informacin o de la composicin de los nodos del XML de entrada.
Un hoja XSL puede actuar por si sola como nico elemento de transformacin y encargarse de
dar formato a todo el sitio web, o adjuntarse a una estructura de hojas XSLT que pueden
combinarse entre ellas y encargndose de tratar diferentes secciones del portal, siendo
referenciadas mediante elementos xsl:include y xsl:import
Una estructura de hojas XSLT ha de tener una hoja de estilo principal (principal stylesheet
module) que inicialice la transformacin, y a su vez, incorpore el resto de plantillas XSL
directa o indirectamente.
Pongamos como ejemplo la plantilla XSL A, la plantilla XSL B, la plantilla XSL C.
En una incorporacin directa :
A incluye a B -> A conoce a B
A no incluye a C, B no incluye a C -> A no conoce a C
En una incorporacin indirecta:
A incluye a B -> A conoce a B
A no incluye a C, B incluye a C -> A conoce a C, a travs de B.

Actualmente hay varias versiones del estndar XSLT: la versin 1.0, que es la que
implementan la mayora de los procesadores, y se denomina "recomendacin", es decir, para
el consorcio W3, lo equivalente a un estndar, y la versin 2.0 , que, a fecha de hoy, an se
est acabando de desarrollar y validar como estndar.
Algunos procesadores, tales como el Saxon, implementan ya esta ltima versin. Hay algunas
diferencias importantes: el tratamiento uniforme de los rboles, uso de mltiples documentos
de salida, y funciones definidas por el usuario que se pueden definir en XSLT, y no slo en
Java u otro lenguaje, como suceda en estndares anteriores.
2.2-Sintaxis de XSLT
A grandes rasgos se ver la sintaxis de un documento XSLT, ya que en los anexos se
describirn todos los mtodos y funciones que disponemos a la hora de desarrollar XSLT.
Como se ha visto anteriormente, un documento XML se compone de informacin estructurada
en nodos en forma de rbol. Si se tiene en cuenta que un XSLT ha de recorrer un documento
XML entenderemos que la sintaxis bsica para el desarrollo de XSLT, son recorridos, bucles,
y condicionales que naveguen por la estructura del XML.
Iniciamos una hoja de estilos xsl mediante la etiqueta stylesheet para todos los documentos
que hagamos. Indicamos la versin 1 de la hoja de estilo con el atributo version y adems
iniciamos que seguimos las recomendaciones de la W3C y seguimos su namespace (criterio y
restricciones de la recomendacin sobre la estructura de tipos de elemento y nombres de
atrubuto), con xmlns y xmlns:xsl.
Hemos de indicar tambin la salida que resultar de la transformacin con la etiqueta output.
En la salida hemos de indicar el mtodo de entrada con el atributo method. Tambin hemos de
marcar la versin del xslt y la codificacin de caracteres que seguir la plantilla mediante version y
encoding respectivamente. Para finalizar la cabecera le decimos el medio de salida
despus de la transformacin con media-type y la validacin que seguir con doctype-public.

Ejemplo de cabecera:
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"
encoding="utf-8"
media-type="text/html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
indent="yes"/>
La siguiente etiqueta tambin es obligatoria. Aqu se indica el nombre del template que
usaremos. Podemos hacerlo marcndolo con match y la secuencia de nodos a la que actuar, o
bien dotndola de un nombre por el que luego lo llamaremos si es que nos hace falta con el
atributo name.
<xsl:template match="XMLData/nodes">
<xsl:template name="nodes">
Estas ltimas instrucciones las usaremos para cerrar el marcado XSLT, tambin es obligatorio
ya que si no nos dara un error al parsear.
</xsl:template>
</xsl:stylesheet>
cada etiqueta tiene que tener su apertura y cierre.
Ejemplo:

<xsl:template name="nodes"> </xsl:template>

3-Interaccion de XML y XSLT


3.1Procesadores
Hay muchas formas de usar las hojas de estilo. Lo ms normal es usarlas dentro de un entorno
de publicacin.
Un entorno de publicacin de XML permite mantener sitios completos basados en XML, y
generar pginas en diferentes formatos a partir de ellos.
La mayor utilizacin de la tecnologa XML es para comunicacin entre diferentes
aplicaciones, de esta forma lo que se necesita en estos casos es aplicar hojas de estilo dentro de
una aplicacin, o usarlas desde lnea de comandos a partir de otra aplicacin o otro lenguaje de
programacin. En ese caso, lo ms til es usar un procesador de hojas de estilo, que
habitualmente se encuentra en conjuncin con un parser XML, con o sin validacin.
De estos, los ms usados son los siguientes:
Xalan. Es una herramienta escrita en Java, y lo nico que se necesita para hacerla
funcionar es una mquina virtual Java (JVM), tal como la de Microsoft, Sun o IBM.
Xalan necesita un parser XML para funcionar.
Saxon: un procesador bastante rpido, tambin escrito en Java, con su propio parser
incluido, aunque se puede usar uno externo.

3.2-Funcionalidad del Procesador

Ejemplo:
Archivo XML:
<?xmlversion="1.0"?>
<PROYECTO>
<FICHA>
<ALUMNO> Sergio Lpez </ALUMNO>
<NOMBRE>Proyecto XSLT</NOMBRE>
<NOTA>10</NOTA>
</FICHA>
</PROYECTO>
La cabecera para idntificar a un archivo XML es <?xmlversion=1.0>
La etiqueta root esta implicita para el archivo XML se puede acceder a este nodo es /
Las etquetas que se encuantran a continuacion de las ya mencionadas como
<PROYECTO>,<FICHA>...ETC, son definidas segun sea necesario para representar a la etiqueta.
Archivo XSLT:
<xsl:stylesheet version = 1.0>
<xsl: templeate match =/>

<html><head><title></title></head>
<body><h1>
<xsl:valueof select=proyecto/ficha/nombre/>
</h1>
</body>
</xsl:templeate>
</xsl:stylesheet>
La cabecera para indentificar al archivo XSLT es similar a la de un XML <xsl:stylesheet version =
1.0>
.
Las etiquetas html estan sin ninguna diferencia, para acceder a los datos del XML con XSLT
la siguiente etiqueta es la encargada de interactuar con los datos del XML para luego generar un
archivo de salida reemplazando las etiquetas con prefijo <xsl:____/> por el dato.
Ejemplo:
<xsl:valueof select=proyecto/ficha/nombre/>
Esta linea realiza la interaccion, reemplaznado el nombre en el lugar donde se encuantra la etiqueta
<xsl:___/>

Ejemplo:
Archivo XML:
<?xml version="1.0" encoding="utf-8"?>
<Document>
<detallProducte>
<tipus>llibre</tipus>
<Id_producte>4</Id_producte>
<titol>Los Pilares de la Tierra</titol>
<resumen>El gran maestro de la narrativa y el suspense nos transporta a la Edad

Media, a un fascinante mundo de reyes, damas, caballeros, pugnas feudales, castillos


y ciudades amuralladas.
</resumen>
<descripcion>El gran maestro de la narrativa y el suspense nos transporta a la
Edad Media, a un fascinante mundo de reyes, damas, caballeros, pugnas feudales,
castillos y ciudades amuralladas. El amor y la muerte se entrecruzan vibrantemente
en este magistral tapiz cuyo centro es la construccin de una catedral gtica. La
historia se inicia con el ahorcamiento pblico de un inocente y finaliza con la
humillacin de un rey. "Los pilares de la tierra" es la obra maestra de Ken Follett
y constituye una excepcional evocacin de una poca de violentas
pasiones.
</descripcion>
<autor>Ken Follet</autor>
<img>pilares_tierra_gran</img>
<editorial>Plaza y Jans</editorial>
<coleccion>xitos</coleccion>
<paginas>1135</paginas>
<genero>Histrica</genero>
<valoracionMedia>6,5</valoracionMedia>
</detallProducte>
</D

Archivo XSLT:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" media-

type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctypesystem="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes"/>


<xsl:template name="detall.producte" match="Document/detallProducte">
<xsl:if test="Document/detallProducte/tipus = 'llibre'">
<div id="caixa-intro" class="cantonades llibre">
<div class="detall-img"><a
href="img/libros/{Document/detallProducte/img}.jpg"><img width="115" height="173"
src="img/libros/{Document/detallProducte/img}.jpg"
alt="{Document/detallProducte/titol}" /></a></div>
<div class="detall-info">
<h2><xsl:value-of select="Document/detallProducte/titol" /></h2>
<p><xsl:value-of select="Document/detallProducte/resumen" /></p>
<div class="info-adicional">
<p><xsl:value-of select="Document/detallProducte/descripcion"
/></p></div>
<dl>
<dt>Autor:</dt>
<dd><xsl:value-of select="Document/detallProducte/autor" /></dd>
<dt>Editorial:</dt>
<dd><xsl:value-of select="Document/detallProducte/editorial"
/></dd>
<dt>Coleccin:</dt>
<dd> <xsl:value-of select="Document/detallProducte/coleccion"
/></dd>
<dt>Pginas:</dt>
<dd><xsl:value-of select="Document/detallProducte/paginas" /></dd>
<dt>Gnero:</dt>

<dd><xsl:value-of select="Document/detallProducte/genero" /></dd>


<dt>Valoracin Media:</dt>
<xsl:choose>
<xsl:when test="Document/detallProducte/valoracionMedia !=
'NeuN'">
<dd><xsl:value-of
select="Document/detallProducte/valoracionMedia" /></dd>
</xsl:when>
<xsl:otherwise>
<dd>--</dd>
</xsl:otherwise>
</xsl:choose>
</dl>
<p id="mas-info"><a href="#">ms info..</a></p>
</div>
</div>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Resultado del procesamiento de XML y XSLT
<div id="caixa-intro" class="cantonades llibre">
<div class="detall-img">
<a href="img/libros/pilares_tierra_gran.jpg">
<img width="115" height="173" src="img/libros/pilares_tierra_gran.jpg"
alt="Los Pilares de la Tierra"/>

</a>
</div>
<div class="detall-info">
<h2>Los Pilares de la Tierra</h2>
<p>El gran maestro de la narrativa y el suspense nos transporta a la Edad Media,
a un fascinante mundo de reyes, damas, caballeros, pugnas feudales, castillos y
ciudades amuralladas.</p>
<div class="info-adicional">
<p>El gran maestro de la narrativa y el suspense nos transporta a la Edad
Media, a un fascinante mundo de reyes, damas, caballeros, pugnas feudales, castillos
y ciudades amuralladas. El amor y la muerte se entrecruzan vibrantemente en este
magistral tapiz cuyo centro es la construccin de una catedral gtica. La historia
se inicia con el ahorcamiento pblico de un inocente y finaliza con la humillacin
de un rey. "Los pilares de la tierra" es la obra maestra de Ken Follett y constituye
una excepcional evocacin de una poca de violentas pasiones.</p>
</div>
<dl>
<dt>Autor:</dt><dd>Ken Follet</dd>
<dt>Editorial:</dt><dd>Plaza y Jans</dd>
<dt>Coleccin:</dt>dd>xitos</dd>
<dt>Pginas:</dt><dd>1135</dd>
<dt>Gnero:</dt><dd>Histrica</dd>
<dt>Valoracin Media:</dt><dd>6,5</dd>
</dl>
<p id="mas-info">
<a href="#">ms info..</a>

</p>
</div>
</div>
</div>

3.3-Transformacion Directa
Un ejemplo de cmo podramos realizar una transformacin en nuestro pc mediante saxon
seria a travs de la lnea de comandos y usando la consola java:

java -jar dir/saxon9.jar -s:source -xsl:stylesheet -o:output

dir/saxon9.jar : Directorio del compilador.


-s:source: Ruta del archivo xml de informacin.
-xsl:stylesheet: Ruta de la estructura xslt.
-o:output: Ruta de archivo html donde se mostrar el resultado de la transformacin. Si no se
indica se muestra el resultado directamente en la consola como cdigo fuente del html.
El resultado de la transformacin nos indicar si existen errores que impidan subir el archivo
al servidor.
3.4- Transformacion usando algun IDE

3.5-Configuracion del IDE Netbeans


3.5.1-Instalando plugins

Descargar el zip archivo y descomprimirlo, y luego desde el NetBeans plugins


pestaa Descargado de dilogo seleccioneAgregar Plugins ... vaya al directorio
descomprimir y seleccionar todo el descomprimido. Nbm archivos. Seleccione Abrir
y siga las instrucciones. Es posible que le que Xerces libary ya estaba instalado esto est bien. Despus de las NetBeans instalar querrn reiniciar. Una vez reiniciado,
puede iniciar la depuracin!
3.5.2-Depuracion Local
Usando el proceso descrito aqu es posible depurar directamente XSLT en el
NetBeans IDE.
Mientras aprenden cmo utilizar el depurador XSLT que ayuda a estar familiarizado
con XSLT y el IDE Netbeans (en particular,la depuracicon dentro de NetBeans), pero
incluso si su experiencia con XSLT y NetBeans se limita cualquier experiencia
acumulada utilizando otras herramientas de depuracin que debe estar en una buena
lugar.
Gran parte de la informacin de esta pgina se orienta hacia el uso de NetBeans
depurador GUI como se relaciona especficamente con el depurador de XSLT. Como
tal, es pertinente para la depuracin remota, as como la depuracin local y la pgina
de depuracin remota se refiere a esta pgina para obtener detalles al respecto.
Primero a discutir es la ventana que sirve como punto central de control, tanto para
local y remoto depuracin del depurador XSLT ventana Opciones.
Depurador XSLT Ventana Opciones
El depurador XSLT Ventana Opciones se puede acceder desde el sistema de mens:
de Windows -> Depuracin -> Abrir depurador XSLT Herramientas Ventana. Un
ejemplo del depurador XSLT Opciones de Ventana se muestra a continuacin:

Utiliza el Local pestaa del depurador XSLT Herramientas Ventana para seleccionar
el archivo que desea depurar. Desde XSLT es lo que se est depurando un XML
Fuente (tpicamente con un . XML de extensin) del archivo para transformar se
requiere y una secuencia de comandos de XSLT (tpicamente con un XSL. extensin)
que especifica se requiere la transformacin. Adems, dado que la transformacin
genera una salida y no se requiere nombre de archivo de salida (si el cuadro de texto

de salida est vaco cuando se elige un archivo de origen de XML, el archivo de


salida se genera aadiendo _output al nombre del archivo de origen XML). Puede
hacer que el archivo de salida sobrescrito marcando la salida Sobrescribir casilla.
Utilice la Transformacin botn para iniciar el depurador de XSLT en el archivo de
origen XML seleccionado y el archivo XSL script. El acto de depuracin se explica
en detalle ms adelante, pero primero vamos a hablar de algunas otras formas de
iniciar el depurador de XSLT.
3.5.3- Procesamiento con Navegador
Muchos de los navegadores actuales tienen soporte a procesar xsl, el parseo lo hace el
navegador y muestra el texto definido en el XML a traves del XSLT.

Archivo XML en el archivo se especifica el archivo XSL que sera el encargado de


procesar los datos para generar el html de salida; esta es la etiqueta encargada de
asignar un XSL al XML: <?xml-stylesheet type="text/xsl" href="ejemplo.xsl"?>

<?xml version="1.0" encoding="UTF-8"?>


<?xml-stylesheet type="text/xsl" href="ejemplo.xsl"?>
<biblioteca>
<libro>
<titulo>La vida est en otra parte</titulo>
<autor>Milan Kundera</autor>
<fechaPublicacion ao="1973"/>
</libro>

<libro>
<titulo>Pantalen y las visitadoras</titulo>
<autor fechaNacimiento="28/03/1936">Mario Vargas Llosa</autor>
<fechaPublicacion ao="1973"/>
</libro>
<libro>
<titulo>Conversacin en la catedral</titulo>
<autor fechaNacimiento="28/03/1936">Mario Vargas Llosa</autor>
<fechaPublicacion ao="1969"/>
</libro>
</biblioteca>
Archivo XLS archivo que define lo que es necesario obtener del XML.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="autor">
</xsl:template>

</xsl:stylesheet>
Archivo de salida.
<?xml version="1.0" encoding="UTF-8"?>
La vida est en otra parte
Pantalen y las visitadoras
Conversacin en la catedral

El resultado generado simplemente es texto plano mostrado en la ventana del


navegador, esto se consigue con solo abrir el XML con el navegador este se encarga
de procesarlo internamente con el archivo XSL definido en la cabecera del XML.
4- Explorando etiquetas XSL
4.1 La instruccin <xsl:value-of>

La instruccin<xsl:value-of> extrae el contenido del nodo seleccionado.

Archivo XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="libro">
<xsl:value-of select="autor"/>
</xsl:template>

</xsl:stylesheet>

Resultado
<?xml version="1.0" encoding="UTF-8"?>

Milan Kundera
Mario Vargas Llosa
Mario Vargas Llosa

4.2-La instruccin <xsl:text>


La instruccin <xsl:text> permite generar texto que no puede generarse simplemente
aadindolo como en los ejemplos anteriores. Por ejemplo, para generar un salto de
lnea en el resultado aadiendo la entidad de carcter &#10;:

Archivo XLS
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<p>Prueba</p>

<xsl:text>&#10;</xsl:text>
<p>Prueba</p>
</xsl:template>
</xsl:stylesheet>

Resultado
<?xml version="1.0" encoding="UTF-8"?>
<p>Prueba</p>

<p>Prueba</p>

4.3-La instruccin <xsl:attribute>


La instruccin <xsl:attribute> permite generar un atributo y su valor. Se utiliza
cuando el valor del atributo se obtiene a su vez de algn nodo.
Por ejemplo, a partir del siguiente documento xml, se quiere generar la etiqueta
<img>. en la que el valor del atributo src sea el contenido de la etiqueta <imagen>.

Archivo XML
<?xml version="1.0" encoding="UTF-8"?>

<licencias>
<licencia>
<nombre>Creative Commons By - Share Alike</nombre>
<imagen>cc_bysa_88x31.png</imagen>
</licencia>
</licencias>

Archivo XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="licencia">
<p><img src="<xsl:value-of select="imagen" />" /></p>
</xsl:template>
</xsl:stylesheet>

Resultado
<?xml version="1.0" encoding="UTF-8"?>
<p>

<img src="cc_bysa_88x31.png"/>
</p>

4.4-La instruccin <xsl:apply-templates


>

Aplica, en el lugar donde aparece, la plantilla definida para el elemento indicado en el


atributo select.
<xsl:apply-templates
select=patron/>
Ejemplo:
<xsl:template match=nombre>
<h2><xsl:value-of/></h2>
</xsl:template>
......
<xsl:apply-templares select=nombre/>
apply-templates aparece en el contexto de etiquetas de marcado HTML, para indicar
que en ese punto del documento, se aplicar la transformacin definida para un
elemento del documento XML
4.5-La instruccion <xsl:if>
aplica una serie de instrucciones si se cumple la condicion establecida en el atributo
test:
<xsl:if test=condicion>
instrucciones
<xsl:if>
Condicion es una cadena de caracteres con la estructura:
<xsl:if test=@radio=2>

<h1><xsl:value-of></h1>
<xsl:if>
4.6-La instruccion <xsl:for-each>
Se utiliza para correr los elementos de un documento, y realizar una serie de
operaciones con los mismos.
El atributo select, determina que elementos se van a recorrer.
<xsl:for-each select=elemento>
instrucciones
<xsl:for-each>
Tambien puede llevar el atributo order-by, para ordenar los datos procesados por el
bucle.
<xsl:for-each order-by=+nombre select=personal/persona>
<tr>
<td><xsl:value-of select=@sexo/></td>
<td><xsl:value-of select=nombre></td>
</tr>
</xsl:for-each>
4.7-La instruccion <xsl:choose>
Permite seleccionar entre varias opciones, estas se establecen mediante <xsl:when>:
<xsl:choose>
<xsl:when test=condition>
:
</xsl:when>
<xsl:otherwise>
:
</xsl:otherwise>
</xsl:choose>
El formato de xsl:when es el mismo que el de xsl:if
Si no se cumple ninguna condicion xsl:when, se ejecutara xsl:otherwise:
<xsl:choose>
<xsl:when test=@curso[.!='xml']>

<xsl:value-of select=@curso>
</xsl:when>
<xsl:otherwise>
</br>
</xsl:otherwise>
</xsl:choose>

Das könnte Ihnen auch gefallen