XML: La Revolución de los Datos en Internet
¿Qué es XML?
XML (eXtended Markup Language) es un lenguaje de marcado que estructura y describe datos para que diferentes aplicaciones puedan entenderlos e interpretarlos.
- Reglas claras: XML se basa en reglas con similitudes a HTML.
- Estándar abierto: Compatible con diversos sistemas operativos y aprobado por el W3C (World Wide Web Consortium).
- Subconjunto de SGML: Derivado de SGML (Standard Generalized Markup Language), pero más simple y compacto.
- Pensado para Internet: Diseñado específicamente para su uso en la web.
- Meta-lenguaje: Permite definir lenguajes de marcado para usos específicos.
¿Qué NO es XML?
- No es una versión mejorada de HTML.
- No es un lenguaje para crear páginas web más atractivas visualmente.
- No es difícil de aprender.
¿Dónde está la Revolución?
La verdadera potencia de XML reside en sus tecnologías asociadas: XSL, XSLT, DTD, Schema, XPATH, etc. XSLT y DTD/Schema son especialmente importantes.
Historia de XML
- Desarrollo a partir de 1996, como un subconjunto de SGML.
- Estándar en febrero de 1998, aprobado por el W3C.
World Wide Web Consortium (W3C)
- Fundado en 1994 para desarrollar protocolos comunes en Internet.
- Consorcio internacional con participación del MIT (EEUU), INRA (Francia) y la Universidad de Keio (Japón).
- Apoyado por DARPA (EEUU) y la Comisión Europea (IEEE).
HTML vs. XML: ¿Cuáles son las Diferencias?
Problemas de HTML
- Meta-lenguaje de presentación: Combina datos y presentación.
- Difícil procesamiento automático.
- No garantiza una estructura correcta (etiquetas sin cerrar).
- Interpretación dependiente del software.
- Pensado para páginas web.
Ventajas de XML
- Fácil procesamiento para software y humanos.
- Compatible con cualquier lenguaje o alfabeto.
- Separa contenido y presentación.
- Múltiples presentaciones para un documento.
- Ideal para transacciones B2B.
- Permite búsquedas y extracción de información (XSL y XPATH).
- Análisis sintáctico sencillo gracias a sus reglas.
- Sensible a mayúsculas y minúsculas.
HTML | XML |
---|---|
Centrado en la visualización, menos estructurado. | Centrado en los datos, altamente estructurado. |
Etiquetas y atributos fijos. | Etiquetas y atributos extensibles. |
Posibilidad de etiquetas sin cerrar. | Estructura consistente obligatoria. |
Definiciones Clave
- XML: eXtended Markup Language
- DTD: Document Type Definition
- XSLT: eXtended StyleSheet Language
- Parser: Analizador sintáctico
- DOM: Document Object Model
- XHTML: eXtended HTML
Tecnologías XML
- Especificación actual: XML v1.0
- Definición de documentos: DTD o Schemas
- Definición de estilos: XSL = XSLT + XPATH
- Enlazado de documentos: XLL = Xlink + Xpointer
Reglas y Pautas XML
Un documento XML «bien formado» cumple las reglas de XML v1.0:
- Estructura de árbol jerárquica.
- Elementos correctamente anidados.
- Sin superposición de elementos.
- Nodo raíz único.
- Etiquetas cerradas.
- Sintaxis especial para etiquetas vacías.
- Nombres de elementos/atributos válidos.
- Sensible a mayúsculas y minúsculas.
- Espacios en blanco como en HTML.
Sintaxis XML
- Etiquetas («marcas») entre < y >.
- Referencias de entidad entre & y ;.
- Primera línea: versión XML y codificación.
- Segunda línea (opcional): DTD.
Elementos, Atributos y Entidades en XML
Elementos
- Pueden tener contenido (texto, valores).
- Pueden contener otras etiquetas y/o atributos.
- Pueden estar vacíos.
Atributos
- Características de los elementos.
- Marcados con comillas simples o dobles.
Entidades
- Representan caracteres especiales (&, <, >, ‘, «).
- Secciones CDATA para bloques de texto sin interpretación.
Comentarios en XML
Misma sintaxis que HTML (<!– –>), pero nunca dentro de una etiqueta.
DTD: Definiendo la Estructura de Documentos XML
¿Qué es una DTD?
Una DTD (Document Type Definition) define la estructura de un documento XML: elementos, atributos, entidades, etc., su orden, número de apariciones y relaciones.
Referencia a una DTD
Se utiliza la etiqueta DOCTYPE
. Puede ser interna, externa o una combinación.
Declaraciones en DTD
Existen cuatro tipos:
- Entidades
- Notaciones
- Elementos
- Atributos
Declaración de Entidades
- Similares a constantes en programación.
- Internas o externas, generales o paramétricas.
Declaración de Notaciones
Definen entidades externas no analizadas por el procesador XML.
Declaración de Elementos
Define los elementos permitidos y su contenido (texto u otros elementos).
Declaración de Atributos
Define los atributos permitidos para cada elemento, su tipo y valor.