XML - Lenguaje de Marcado Extensible
Aprende a estructurar datos con XML y sus tecnologías asociadas
🎯 ¿Qué es XML?
XML (eXtensible Markup Language) es un lenguaje de marcado diseñado para almacenar y transportar datos de forma estructurada y legible tanto para humanos como para máquinas.
Auto-descriptivo
Los nombres de las etiquetas describen el contenido
Independiente
No depende de plataforma o lenguaje de programación
Extensible
Puedes crear tus propias etiquetas según tus necesidades
Estándar W3C
Mantenido por el World Wide Web Consortium
📝 Sintaxis Básica de XML
<?xml version="1.0" encoding="UTF-8"?>
<biblioteca>
<libro id="001">
<titulo>El Quijote</titulo>
<autor>Miguel de Cervantes</autor>
<anio>1605</anio>
<genero>Novela</genero>
</libro>
<libro id="002">
<titulo>Cien años de soledad</titulo>
<autor>Gabriel García Márquez</autor>
<anio>1967</anio>
<genero>Realismo mágico</genero>
</libro>
</biblioteca>
Elementos Clave:
- Declaración XML: Primera línea con versión y codificación
- Elemento raíz: Un solo elemento que contiene todo (
<biblioteca>) - Etiquetas: Siempre deben cerrarse (
<titulo>...</titulo>) - Atributos: Información adicional en elementos (
id="001") - Anidación: Elementos dentro de otros elementos
📜 Reglas Esenciales de XML
Declaración XML
Todo documento XML debe comenzar con una declaración que especifique la versión y codificación.
<?xml version="1.0" encoding="UTF-8"?>
Elemento Raíz Único
Solo puede haber un elemento raíz que contenga todos los demás elementos.
Etiquetas Cerradas
Todas las etiquetas deben cerrarse, ya sea con una etiqueta de cierre o autocontenidas.
<nombre>valor</nombre>
Sensible a Mayúsculas
XML distingue entre mayúsculas y minúsculas en los nombres de etiquetas.
Atributos entre Comillas
Los valores de los atributos siempre deben estar entre comillas simples o dobles.
id="123"
Anidación Correcta
Los elementos deben anidarse correctamente sin superponerse.
🔧 Tecnologías Asociadas con XML
DTD - Definición de Tipo de Documento
Esquema que define la estructura de un documento XML.
<!ELEMENT biblioteca (libro+)>
<!ELEMENT libro (titulo, autor, anio, genero)>
<!ATTLIST libro id CDATA #REQUIRED>
<!ELEMENT titulo (#PCDATA)>
XSD - XML Schema Definition
Esquema más poderoso y expresivo que DTD, también en sintaxis XML.
<xs:element name="libro">
<xs:complexType>
<xs:sequence>
<xs:element name="titulo" type="xs:string"/>
<xs:element name="autor" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
</xs:element>
XPath - XML Path Language
Lenguaje para navegar y seleccionar nodos en documentos XML.
/biblioteca/libro[titulo='El Quijote']
//autor[contains(text(), 'Cervantes')]
/biblioteca/libro[@id='001']/titulo
XSLT - XML Transformations
Lenguaje para transformar documentos XML en otros formatos (HTML, XML, texto).
<xsl:template match="/">
<html>
<xsl:for-each select="biblioteca/libro">
<div class="libro">
<h2><xsl:value-of select="titulo"/></h2>
</div>
</xsl:for-each>
</html>
</xsl:template>
XQuery - XML Query Language
Lenguaje para consultar colecciones de datos XML (similar a SQL para bases de datos).
for $libro in /biblioteca/libro
where $libro/anio > 1900
return $libro/titulo
🎮 Ejemplos Interactivos
Selecciona un ejemplo para verlo en acción y aprender practicando:
✍️ Editor XML Interactivo
Escribe tu propio XML aquí y valídalo en tiempo real:
Escribe tu XML:
Resultado:
Escribe XML en el editor y haz clic en "Validar"
🏢 Casos de Uso Comunes
Web Services
SOAP y RESTful APIs frecuentemente usan XML para intercambiar datos
Configuración
Archivos de configuración en aplicaciones y frameworks
Almacenamiento
Base de datos nativas XML y persistencia de datos
Documentación
Formatos como DocBook para documentación técnica