Selecciona el Idioma

domingo, 9 de junio de 2013

XML

XML es un lenguaje, Similar al HTML pero con sus propias etiquetas, veamos un sencillo ejemplo ( quitar almohadillas para ejecutar código):

Libro Seguridad Informática 20 han de incluir cd de soporte paper Navigator A3 5 sin agujeros


<#comanda>
<#producto codi=”3303F”>
<#nom> Libro Seguridad Informática <#/nom>
<#cantitat>20<#/cantitat>
<#comentarios> han de incluir cd de soporte<#/comentarios>
<#/producto>
<#producto codi=”2103S”>
<#nom> paper Navigator A3<#/nom>
<#cantitat>5<#/cantitat>
<#comentarios> sin agujeros  <#/comentarios>
<#/producto>
<#/comanda>

-Documentos bien formados: documentos sintàcticament correctos, es decir, siguen las regla expuestas (tabulación, coherencia,...). − Documentos válidos: documentos bien formados y que cumplen los requisitos de una estructura definida (DTD) .

La estructura de los archivos con XML: − Les datos a almacenar(XML) − La estructura o semántica (DTD)(dentro del XML) − Presentación (XSL)( otro archivo independiente, pero que ha de ir unido al XML del mismo)

EJEMPLO: en un primer archivo creamos el XML

<#?xml version="1.0" encoding="UTF-8"?>
<#colegio>
 <#alumno>
<#nombre>Juan<#/nombre>
<#apellido>Requena<#/apellido>
<#edad>19<#/edad>
 <#/alumno>

<#/colegio>

En otro, el XSL que irá adjunto al XML anterior:

<#?xml version="1.0" encoding="UTF-8"?>
<#xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<#html>
<#body>
<#h1>Ejemplo<#/h1>
<#table>
<#tr>
<#th>Nombre<#/th>
<#th>Apellido<#/th>
<#th>Edad<#/th>
<#/tr>
<#xsl:for-each select="colegio/alumno">
<#tr>
<#td><#/td>
<#td><#/td>
<#td><#/td>
<#/tr>
<#/xsl:for-each>
<#/table>
<#/body>
<#/html>
<#/xsl:template>
<#/xsl:stylesheet>

Para vincular el XSL con el XML y que funcione bien, hay que añadir la siguiente línea al archivo XML : <#?xml-stylesheet type="text/xsl" href="tabla1.xsl"?> donde tabla1.xsl es el nombre del archivo a vincular.

Para recorrer un conjunto de elementos (por exemple, recorrer todos los alumnos de la escuela), hemos de usar la estructura xsl:for-each (sin almohadillas):

<#xsl:for-each select="colegio/alumno"> ... <#/xsl:for-each>

Para extraer el valor de un elemento tenemos la siguiente instrucción:

donde “nombre” será el nombre del elemento ,del cual queremos extraer el valor.

Si deseamos mostrar resultados ordenados y no como están guardados en el fichero xml, tenemos la siguiente instrucción se puede variar según el orden que deseamos obtener en la búsqueda: Hay operadores lógicos

  • Igualtat '=
  • Desigualtat !=
  • Menor que (<) <
  • Major que (>) >
  • Menor o igual que(<=) <=
  • Mayor o igual que (>=) >=

Para indicar condiciones tenemos la siguiente instrucción( sin almohadillas): <#xsl:if test="expressió"> ... <#/xsl:if>

En caso de ser muchas variantes de condiciones mejor usamos CHOOSE

<#xsl:choose>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:otherwise>
...
<#/xsl:otherwise>
<#/xsl:choose>

No hay comentarios:

Publicar un comentario