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

ejemplo.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

1

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"?>
2

Elemento Raíz Único

Solo puede haber un elemento raíz que contenga todos los demás elementos.

3

Etiquetas Cerradas

Todas las etiquetas deben cerrarse, ya sea con una etiqueta de cierre o autocontenidas.

<nombre>valor</nombre>
4

Sensible a Mayúsculas

XML distingue entre mayúsculas y minúsculas en los nombres de etiquetas.

5

Atributos entre Comillas

Los valores de los atributos siempre deben estar entre comillas simples o dobles.

id="123"
6

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