<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Linguaxe_de_transformaci%C3%B3ns_de_documentos_XML</id>
	<title>Linguaxe de transformacións de documentos XML - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Linguaxe_de_transformaci%C3%B3ns_de_documentos_XML"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Linguaxe_de_transformaci%C3%B3ns_de_documentos_XML&amp;action=history"/>
	<updated>2026-10-21T17:51:06Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Linguaxe_de_transformaci%C3%B3ns_de_documentos_XML&amp;diff=20810&amp;oldid=prev</id>
		<title>Arribi: /* Elemento  */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Linguaxe_de_transformaci%C3%B3ns_de_documentos_XML&amp;diff=20810&amp;oldid=prev"/>
		<updated>2011-02-15T15:11:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Elemento&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introdución a XSLT ==&lt;br /&gt;
&lt;br /&gt;
XSL son as siglas de &amp;#039;&amp;#039;EXtenxible Stylesheet Language&amp;#039;&amp;#039;, e é unha linguaxe de follas de estilos para os documentos XML.&lt;br /&gt;
&lt;br /&gt;
XSLT quere dicir &amp;#039;&amp;#039;XSL Transformations&amp;#039;&amp;#039; e é a linguaxe que empregaremos para transformar documentos XML noutros formatos como XHTML. &lt;br /&gt;
&lt;br /&gt;
Co XSLT poderemos engadir/eliminar elementos e atributos dun arquivo orixe XML ou ben no arquivo que obteñamos na saída. Tamén poderíamos reorganizar os elementos, avaliar campos, ocultar elementos, etc.&lt;br /&gt;
&lt;br /&gt;
XSLT é unha recomendación do W3C dende o 16 de novembro de 1999.&lt;br /&gt;
&lt;br /&gt;
== Linguaxes XSL ==&lt;br /&gt;
&lt;br /&gt;
A transformación de arquivos XML noutros formatos comezou co emprego de XSL e terminou con XSLT, XPath e XSL-FO.&lt;br /&gt;
&lt;br /&gt;
Poderíamos dicir que XSL é ao XML o que as follas de estilo CSS son ao HTML.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;XSL = Style Sheets para XML&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Por tanto, XSL describe como vai ser amosado o documento XML.&lt;br /&gt;
&lt;br /&gt;
O XSL é máis que unha linguaxe de folla de estilos. O XSL consiste en tres partes:&lt;br /&gt;
* XSLT -  a linguaxe para transformar documentos XML&lt;br /&gt;
* XPath - a linguaxe para navegar nos documentos XML&lt;br /&gt;
* XSL-FO - a linguaxe para formatar documentos XML&lt;br /&gt;
&lt;br /&gt;
== Navegadores XSLT ==&lt;br /&gt;
&lt;br /&gt;
A maior parte dos navegadores teñen soporte para XML e XSLT.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Mozilla Firefox&amp;#039;&amp;#039;&amp;#039;: Firefox soporta XML, XSLT, e XPath dende a versión 3.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Internet Explorer&amp;#039;&amp;#039;&amp;#039;: Internet Explorer soporta XML, XSLT, e XPath dende a version 6. Internet Explorer 5 non é compatible coa recomendación oficial W3C.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Google Chrome&amp;#039;&amp;#039;&amp;#039;: Chrome soporta XML, XSLT, e XPath dende a versión 1.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Opera&amp;#039;&amp;#039;&amp;#039;: Opera soporta XML, XSLT, e XPath dende a version 9. Opera 8 soporta soamente XML + CSS.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Apple Safari&amp;#039;&amp;#039;&amp;#039;: Safari soporta XML e XSLT dende a versión 3.&lt;br /&gt;
&lt;br /&gt;
== Transformacións XSLT ==&lt;br /&gt;
&lt;br /&gt;
Neste apartado imos transformar un arquivo XML nun XHTML empregando XSLT. Os detalles do exemplo serán explicados máis adiante.&lt;br /&gt;
&lt;br /&gt;
=== Declaración da folla de estilo XSL ===&lt;br /&gt;
&lt;br /&gt;
O elemento raíz que declara que o documento  vai ser unha folla de estilos XSL é &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:stylesheet&amp;gt;&amp;#039;&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:transform&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Poderemos empregar calquera das dúas declaracións .&lt;br /&gt;
&lt;br /&gt;
A forma de declarar o arquivo segundo a recomendación da W3C é:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:transform version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para ter acceso aos elementos XSLT, atributos e características deberemos declarar o namespace ao principio do documento.&lt;br /&gt;
&lt;br /&gt;
A declaración &amp;#039;&amp;#039;&amp;#039;xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;#039;&amp;#039;&amp;#039; apunta directamente ao XSLT namespace oficial do W3C. Si empregamos este namespace deberemos incluír o atributo &amp;#039;&amp;#039;&amp;#039;version=&amp;quot;1.0&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== O documento XML de exemplo ===&lt;br /&gt;
&lt;br /&gt;
Queremos transformar o seguinte documento XML (&amp;quot;cdcatalog.xml&amp;quot;) nun arquivo XHTML:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;catalog&amp;gt;&lt;br /&gt;
  &amp;lt;cd&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Empire Burlesque&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;artist&amp;gt;Bob Dylan&amp;lt;/artist&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;Columbia&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;price&amp;gt;10.90&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1985&amp;lt;/year&amp;gt;&lt;br /&gt;
  &amp;lt;/cd&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/catalog&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://informatica.iessanclemente.net/manuais/images/d/d0/Cdcatalog.zip  Descargar aquivo orixinal &amp;quot;cdcatalog.xml&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== Creación dunha folla de estilos XSL ===&lt;br /&gt;
&lt;br /&gt;
Agora imos crear unha folla XSL (&amp;quot;cdcatalog.xsl&amp;quot;) cun modelo de transformación:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://informatica.iessanclemente.net/manuais/images/3/35/Cdcatalog-xsl.zip Descargar o arquivo &amp;#039;&amp;#039;&amp;#039;cdcatalog.xsl&amp;#039;&amp;#039;&amp;#039; completo]&lt;br /&gt;
&lt;br /&gt;
=== Enlace á folla de estilo XSL dende o arquivo XML ===&lt;br /&gt;
&lt;br /&gt;
Para referenciar a folla de estilos XSL ao documento XML faremos:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;cdcatalog.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;catalog&amp;gt;&lt;br /&gt;
  &amp;lt;cd&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Empire Burlesque&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;artist&amp;gt;Bob Dylan&amp;lt;/artist&amp;gt;&lt;br /&gt;
    &amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;&lt;br /&gt;
    &amp;lt;company&amp;gt;Columbia&amp;lt;/company&amp;gt;&lt;br /&gt;
    &amp;lt;price&amp;gt;10.90&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;year&amp;gt;1985&amp;lt;/year&amp;gt;&lt;br /&gt;
  &amp;lt;/cd&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/catalog&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://informatica.iessanclemente.net/manuais/images/8/8f/Cdcatalog-with-xsl.zip  Descarga os dous arquivos o .xml e o .xsl]&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:template&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:template&amp;gt;&amp;#039;&amp;#039;&amp;#039; é usado para construír modelos.&lt;br /&gt;
&lt;br /&gt;
O atributo &amp;#039;&amp;#039;&amp;#039;match&amp;#039;&amp;#039;&amp;#039; úsase para asociar o modelo co elemento XML. O atributo match pode ser usado para definir un modelo para o documento XML. &lt;br /&gt;
&lt;br /&gt;
O valor do atributo match é unha expresión XPath (por exemplo match=&amp;quot;/&amp;quot; define o documento completo).&lt;br /&gt;
&lt;br /&gt;
Unha versión simplificada do arquivo XSL anterior pode ser:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;.&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Explicación do Exemplo:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Xa que unha folla XSL é tamén un documento XML, terá que comezar sempre coa declaración XML: &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
O seguinte elemento, &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:stylesheet&amp;gt;&amp;#039;&amp;#039;&amp;#039;  define que este documento é unha folla XSLT (co seu número de versión e atributo namespace).&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:template&amp;gt;&amp;#039;&amp;#039;&amp;#039; define un modelo. O atributo &amp;#039;&amp;#039;&amp;#039;match=&amp;quot;/&amp;quot;&amp;#039;&amp;#039;&amp;#039; asocia o modelo co elemento raíz do documento XML.&lt;br /&gt;
&lt;br /&gt;
O contido dentro do elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:template&amp;gt;&amp;#039;&amp;#039;&amp;#039; define o contido HTML que se escribirá na saída.&lt;br /&gt;
&lt;br /&gt;
As dúas derradeiras liñas definen o fin do modelo e o fin da folla de estilos.&lt;br /&gt;
&lt;br /&gt;
O resultado do exemplo anterior é un pouco frustrante xa que non copiamos ningún dato dende o arquivo XML á saída. No seguinte apartado veremos como empregar o elemento &amp;#039;&amp;#039;&amp;#039;xsl:value-of&amp;#039;&amp;#039;&amp;#039; para seleccionar valores dos elementos XML.&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:value-of&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;lt;xsl:value-of&amp;gt; emprégase para extraer os valores dun nodo determinado do arquivo XML, e enviar eses valores á saída transformados:&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;catalog/cd/title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;catalog/cd/artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nota&amp;#039;&amp;#039;&amp;#039;: O atributo &amp;#039;&amp;#039;&amp;#039;select&amp;#039;&amp;#039;&amp;#039; do exemplo anterior, contén unha expresión XPath. Esa expresión XPath selecciona os elementos title e artist respectivamente.&lt;br /&gt;
&lt;br /&gt;
Pero no caso anterior soamente seleccionou o primeiro elemento title e artist do arquivo XML. &lt;br /&gt;
No seguinte apartado veremos como recorrer todo o arquivo XML e amosar todos os rexistros que faltan empregando o elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:for-each&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:for-each&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:for-each&amp;gt;&amp;#039;&amp;#039;&amp;#039; permítenos facer bucles no XSLT. Este elemento pode ser usado para seleccionar cada un dos elementos dentro dun conxunto especificado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nota&amp;#039;&amp;#039;&amp;#039;: O valor do atributo select é unha expresión XPath. A expresión XPath funciona como un sistema típico de arquivos dun sistema operativo.&lt;br /&gt;
&lt;br /&gt;
=== Filtrando a saída ===&lt;br /&gt;
&lt;br /&gt;
Podemos filtrar a saída dende o arquivo XML engadindo un criterio ó atributo select no elemento &amp;lt;xsl:for-each&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:for-each select=&amp;quot;catalog/cd[artist=&amp;#039;Bob Dylan&amp;#039;]&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Operadores dispoñibles nos filtros:&lt;br /&gt;
* =  igual&lt;br /&gt;
*!= distinto&lt;br /&gt;
* &amp;amp;lt; menor que&lt;br /&gt;
* &amp;amp;gt; maior que&lt;br /&gt;
&lt;br /&gt;
Exemplo anterior cun filtro:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd[artist=&amp;#039;Bob Dylan&amp;#039;]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:sort&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;lt;xsl:sort&amp;gt; emprégase para ordenar a saída.&lt;br /&gt;
&lt;br /&gt;
Simplemente teremos que engadir o elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:sort&amp;gt;&amp;#039;&amp;#039;&amp;#039; dentro de cada elemento &amp;lt;xsl:for-each&amp;gt; no arquivo XSL:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:sort select=&amp;quot;artist&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nota&amp;#039;&amp;#039;&amp;#039;: O atributo &amp;#039;&amp;#039;&amp;#039;select&amp;#039;&amp;#039;&amp;#039; indica que elemento XML temos que ordenar.&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:if&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:if&amp;gt;&amp;#039;&amp;#039;&amp;#039; emprégase para crear unha condición a avaliar no contido XML.&lt;br /&gt;
&lt;br /&gt;
A sintaxe é a seguinte:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:if test=&amp;quot;expresion&amp;quot;&amp;gt;&lt;br /&gt;
  ... saída cando a expresión é verdadeira ...&lt;br /&gt;
&amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para engadir unha condición, teremos que engadir o elemento &amp;lt;xsl:if&amp;gt; dentro do elemento &amp;lt;xsl:for-each&amp;gt; no arquivo XSL.&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;  xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:if test=&amp;quot;price &amp;amp;gt; 10&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Nota&amp;#039;&amp;#039;&amp;#039;: O valor do atributo obrigatorio &amp;#039;&amp;#039;&amp;#039;test&amp;#039;&amp;#039;&amp;#039; contén a expresión que queremos avaliar.&lt;br /&gt;
&lt;br /&gt;
O código anterior amosará o elemento título e artista dos CD que teñen un prezo maior que 10.&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:choose&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:choose&amp;gt;&amp;#039;&amp;#039;&amp;#039; emprégase xunto con &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:when&amp;gt;&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:otherwise&amp;gt;&amp;#039;&amp;#039;&amp;#039; para expresar condicións múltiples.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sintaxe&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:when test=&amp;quot;expression&amp;quot;&amp;gt;&lt;br /&gt;
    ... some output ...&lt;br /&gt;
  &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
    ... some output ....&lt;br /&gt;
  &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para avaliar condicións múltiples no arquivo XML, engadiremos os elementos &amp;lt;xsl:choose&amp;gt;, &amp;lt;xsl:when&amp;gt; e &amp;lt;xsl:otherwise&amp;gt; no arquivo XSL:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:when test=&amp;quot;price &amp;amp;gt; 10&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;td bgcolor=&amp;quot;#ff00ff&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
O código anterior engadirá unha cor rosa de fondo á columna do Artista cando o prezo do CD sexa maior que 10.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Outro exemplo&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th&amp;gt;Artist&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;catalog/cd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:when test=&amp;quot;price &amp;amp;gt; 10&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;td bgcolor=&amp;quot;#ff00ff&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:when test=&amp;quot;price &amp;amp;gt; 9&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;td bgcolor=&amp;quot;#cccccc&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;artist&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O código anterior engadirá unha color rosa de fondo á columna do Artista cando o prezo do CD é maior que 10 e unha cor gris de fondo cando o prezo do CD é maior que 9 e menor ou igual a 10.&lt;br /&gt;
&lt;br /&gt;
== Elemento &amp;lt;xsl:apply-templates&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
O elemento &amp;#039;&amp;#039;&amp;#039;&amp;lt;xsl:apply-templates&amp;gt;&amp;#039;&amp;#039;&amp;#039; aplica un modelo ao elemento actual ou aos nodos elementos fillos do actual.&lt;br /&gt;
&lt;br /&gt;
Se engadimos un atributo select ao elemento &amp;lt;xsl:apply-templates&amp;gt; procesará soamente o elemento fillo que coincida co valor do atributo. Podemos usar un atributo select para especificar a orde na cal serán procesados os nodos fillos.&lt;br /&gt;
&lt;br /&gt;
Observa o seguinte exemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot;&lt;br /&gt;
xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;My CD Collection&amp;lt;/h2&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:apply-templates/&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;cd&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:apply-templates select=&amp;quot;title&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:apply-templates select=&amp;quot;artist&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;title&amp;quot;&amp;gt;&lt;br /&gt;
  Title: &amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;artist&amp;quot;&amp;gt;&lt;br /&gt;
  Artist: &amp;lt;span style=&amp;quot;color:#00ff00&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arribi</name></author>
	</entry>
</feed>