cursoXML: introducción

1 | introducción
1.1 Historia
1.2 XML
2 | DTD
2.1 Introducción
2.2 Elementos
2.3 Atributos
2.4 Entidades y notaciones
2.5 Desventajas
3 | xmlns
3.1 Introducción
4 | Schema
4.1 Introducción
4.2 Elementos primitivos
4.3 Tipos simples
4.4 Tipos complejos
5 | XSL
5.1 Introducción
5.2 Como funciona XSLT
5.3 XSLT declarativo
5.4 Extraer información
5.5 Condicionales
5.6 Generar elementos
5.7 Atributos
5.8 XPath
6 | XHTML
6.1 XHTML
7 | Material
7.1 Ejemplos
7.2 Ejercicios

1.2 Reglas básicas de XML

Etiquetas en XML

Un documento XML se compone de elementos, que son textos marcados con etiquetas.
Las etiquetas pueden llevar atributos. Aquí tienes un ejemplo:

<compra ticket="2006_001" > <articulo orden="1" > <referencia > 65-0122 </referencia> <color > azul marino </color> </articulo> <articulo orden="2" > <referencia > 55-1020 </referencia> <color > verde y roja </color> </articulo> </compra > Etiquetas: compra, articulo, referencia, color Atributos: ticket, orden

Las etiquetas deben cumplir las siguientes reglas:

  • Siempre se cierran. Los elementos vacíos se deben cerrar en la misma etiqueta. Ej: <img .. />.
  • Se anidan en orden. Si abrimos una etiqueta dentro de otra, la nueva etiqueta debe cerrarse antes de cerrarse su contenedor.
  • Se diferencia entre mayúsculas y minúsculas.
  • Los atributos van entrecomillados, y siempre son atributo="valor"
etiquetas XHTML cerradas <img .. /> <br /> <input .../> Atributos entrecomillados <input type="checkbox" disabled="disabled" >

Documento XML

Un documento XML consta de dos partes:

  • Un prólogo que contiene información general del documento como por ejemplo la declaración XML o la declaración DOCTYPE.
  • un elemento raíz y solo uno.

No hay marcas formales para delimitar el prólogo.

Dentro de un documento pueden aparecer las siguientes etiquetas:

  • Instrucciones de proceso. Son de la forma <? ?>. Normalmente se encuentran en el prólogo.
  • Declaración del tipo de documento. Es una etiqueta de la forma <!DOCTYPE .. >. Debería ir en el prólogo.
  • Comentarios. Pueden aparecer en cualquier parte. Los comentarios se delimitan con <!-- y -->
  • Etiquetas de elementos.
  • Secciones CDATA: conjunto de caracteres que no son analizados como XML. Esto permite utilizar los carácteres "<",">" y "&" con plena libertad.

En cuanto a los caracteres:

  • Los espacios en blanco, retornos y tabuladores se consideran igual que en HTML.
  • Podemos incluir referencias a entidades como por ejemplo &lt;
  • No pueden utilizarse los siguiente tres caracteres ya que se consideran marcas: "<",">" y "&".
  • El resto de caracteres se consideran datos.

Prologo XML

Consta de varias declaraciones: XML (obligatoria), DOCTYPE (opcional), estilo (opcional), etc.

Declaración XML

Es obligatoria y debe ir al principio. Hay que indicar la versión de XML que estamos usando (de momento solo hay la versión 1.0) y la codificación de caracteres.

<?xml version="1.0" encoding="codificación" ?>

Recuerda que en XML la etiqueta <? es una etiqueta de procesado XML. Debe cerrarse con ?>.

Podemos utilizar cualquier codificación: UTF-8, ISO-8859-1, etc. Gracias a ello podemos utilizar acentos y todo tipo caracteres.

Declaración DOCTYPE

Esta declaración indica o define la definición del documento. Normalmente haremos referencia a una definición externa del documento. Dicha definición puede ser del tipo pública (la define alguna entidad como el W3C), o de sistema. En ambos casos deberemos indicar la URI de la definición.
También podemos incrustar directamente la definición dentro de la etiqueta DOCTYPE usando los corchetes como delimitadores.

Sintaxis <!DOCTYPE raiz PUBLIC | SYSTEM uri> ó <!DOCTYPE raiz [ DEFINICION_DTD]> Ejemplos <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" > <!DOCTYPE biblioteca SYSTEM "biblioteca.dtd" > <!DOCTYPE biblioteca [<!ELEMENT biblioteca (libro+) > <!ELEMENT libro (titulo, autor) > <!ELEMENT titulo (#PCDATA) > <!ELEMENT autor (#PCDATA) > ] >

Al incrustar la DTD en el documento podemos usar el atributo standalone="yes" de la declaración XML. Con este atributo cualquier DTD externa, genera un error de validación.
No se aconseja el uso de DTD incrustadas por considerarlo un método obsoleto.

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

Vincular CSS

Podemos vincular una hoja de estilo a nuestro documento XML con la siguiente instrucción de proceso:

<?xml-stylesheet type="text/css" href="miestilo.css" ?>

Documentos bien formados y documentos válidos

Un documentos XML que cumpla todas normas XML es un documento bien formado (well-formed). Estas normas son:

  • Solo contiene un elemento raíz.
  • Todos los elementos tienen etiqueta inicial y final con nombres idénticos.
  • Los elementos no se entrecruzan ( las etiquetas se anidan correctamente ).
  • Todos los atributos van entrecomillados
  • Un elemento no tiene dos atributos con el mismo nombre.
  • Los comentarios e instrucciones de proceso no aparecen dentro de ninguna etiqueta
  • Se respeta la codificación de caracteres definida para el documento.
  • etc.

Si además tiene definida una estructura y la respeta, se dice que es válido.

Saregune 2008 (cc) Copyleft