domingo, 17 de agosto de 2014

Ejercicios XSLT

XSLT - Ejercicio 1
Dado el siguiente documento XML, escriba las hojas de estilo XSLT que devuelvan la respuesta deseada.
<?xml version="1.0" encoding="UTF-8"?>
<ies nombre="IES Abastos" web="http://www.iesabastos.org/" >
  <ciclos>
    <ciclo id="ASIR">
      <nombre>Administración de Sistemas Informáticos en Red</nombre>
      <grado>Superior</grado>
      <decretoTitulo año="2009" />
    </ciclo>
    <ciclo id="DAW">
      <nombre>Desarrollo de Aplicaciones Web</nombre>
      <grado>Superior</grado>
      <decretoTitulo año="2010" />
    </ciclo>
    <ciclo id="SMR">
      <nombre>Sistemas Microinformáticos y Redes</nombre>
      <grado>Medio</grado>
      <decretoTitulo año="2008" />
    </ciclo>
  </ciclos>
</ies>

Sin etiquetas:
<?xml version="1.0" encoding="UTF-8"?>
    Administración de Sistemas Informáticos en Red
    Desarrollo de Aplicaciones Web
    Sistemas Microinformáticos y Redes
SOLUCION
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="ciclo">
<xsl:value-of select="nombre"/>
</xsl:template>
</xsl:stylesheet>

Párrafos:

<?xml version="1.0" encoding="UTF-8"?>  
<html>
    <p>Administración de Sistemas Informáticos en Red</p>
    <p>Desarrollo de Aplicaciones Web</p>
    <p>Sistemas Microinformáticos y Redes</p>
</html>

SOLUCION:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="ciclos">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="ciclo">
<p>
<xsl:value-of select="nombre"/>
</p>
</xsl:template>
</xsl:stylesheet>

Lista:

<?xml version="1.0" encoding="UTF-8"?>
<html>
  <ul>
    <li>Administración de Sistemas Informáticos en Red</li>
    <li>Desarrollo de Aplicaciones Web</li>
    <li>Sistemas Microinformáticos y Redes</li>
  </ul>
</html>

SOLUCION:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="ciclos">
<html>
<ul>
<xsl:apply-templates/>
</ul>
</html>
</xsl:template>
<xsl:template match="ciclo">
<li>
<xsl:value-of select="nombre"/>
</li>
</xsl:template>
</xsl:stylesheet>

Tabla:
<?xml version="1.0" encoding="UTF-8"?>
<html>
  <table border="1">
    <tr>
      <td>Administración de Sistemas Informáticos en Red</td>
    </tr>
    <tr>
      <td>Desarrollo de Aplicaciones Web</td>
    </tr>
    <tr>
      <td>Sistemas Microinformáticos y Redes</td>
    </tr>
  </table>
</html>

SOLUCION:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="ciclos">
<html>
<table border="1">
<xsl:apply-templates/>
</table>
</html>
</xsl:template>
<xsl:template match="ciclo">
<tr>
<xsl:text></xsl:text>
<td>
<xsl:value-of select="nombre"/>
</td>
<xsl:text></xsl:text>
</tr>
</xsl:template>
</xsl:stylesheet>

Tabla:
<?xml version="1.0" encoding="UTF-8"?>
<html>
  <h1>IES Abastos</h1>
  <p>Página web: <a href="http://www.iesabastos.org/">http://www.iesabastos.org/</a></p>
  <table border="1">
  <tr>
    <th>Nombre del ciclo</th>
    <th>Grado</th>
    <th>Año del título</th>
  </tr>
  <tr>
    <td>Administración de Sistemas Informáticos en Red</td>
    <td>Superior</td>
    <td>2009</td>
  </tr>
  <tr>
    <td>Desarrollo de Aplicaciones Web</td>
    <td>Superior</td>
    <td>2010</td>
  </tr>
  <tr>
    <td>Sistemas Microinformáticos y Redes</td>
    <td>Medio</td>
    <td>2008</td>
  </tr>
</table>
</html>

SOLUCION:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="ies">
<h1>
<xsl:value-of select="@nombre"/>
</h1>
<p>
Página web:
<a>
<xsl:attribute name="href">
<xsl:value-of select="@web"/>
</xsl:attribute>
<xsl:value-of select="@web"/>
</a>
</p>
<table border="1">
<xsl:text></xsl:text>
<tr>
<xsl:text></xsl:text>
<th>Nombre del ciclo</th>
<xsl:text></xsl:text>
<th>Grado</th>
<xsl:text></xsl:text>
<th>Año del título</th>
<xsl:text></xsl:text>
</tr>
<xsl:text></xsl:text>
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="ciclo">
<tr>
<xsl:text></xsl:text>
<td>
<xsl:value-of select="nombre"/>
</td>
<xsl:text></xsl:text>
<td>
<xsl:value-of select="grado"/>
</td>
<xsl:text></xsl:text>
<td>
<xsl:value-of select="decretoTitulo/@año"/>
</td>
<xsl:text></xsl:text>
</tr>
</xsl:template>
</xsl:stylesheet>

No hay comentarios:

Publicar un comentario