Tercera Semana

Creación de Descripciones XML

DTD y XSD: Estructurando y asociando documentos XML

Creación y Asociación de Descripciones

Un XML sin descripción es difícil de entender y validar. Para mejorar la interpretación del documento y garantizar que los datos sean utilizados correctamente, se emplean DTD y XSD para definir la estructura de los datos.

Por ejemplo, si una empresa maneja datos de clientes en XML, definir una estructura con XSD asegurará que cada cliente tenga un nombre, dirección y teléfono correctamente formateados, evitando inconsistencias.

Validación con DTD

Definición de Tipo de Documento (DTD)

DTD define una estructura básica de XML. No permite definir tipos de datos específicos como números enteros o decimales, ya que todo es tratado como texto.

Ejemplo de un DTD simple:
<!DOCTYPE empresa [
    <!ELEMENT empresa (nombre, direccion, telefono)>
    <!ELEMENT nombre (#PCDATA)>
    <!ELEMENT direccion (#PCDATA)>
    <!ELEMENT telefono (#PCDATA)>
]>

Validación con XSD

XML Schema Definition (XSD)

A diferencia de DTD, XSD permite definir tipos de datos específicos como números, fechas y booleanos.

Ejemplo de un esquema XSD:
<xs:element name="cliente">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="nombre" type="xs:string" />
            <xs:element name="edad" type="xs:int" />
            <xs:element name="email" type="xs:string" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

Asociación de XML con su Esquema

Vinculación de documentos

Para vincular un XML con su XSD, se usa el atributo xmlns:xsi y xsi:noNamespaceSchemaLocation.

Ejemplo de XML asociado:
<clientes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:noNamespaceSchemaLocation="clientes.xsd">
    <cliente>
        <nombre>Juan Pérez</nombre>
        <edad>30</edad>
        <email>juan.perez@example.com</email>
    </cliente>
</clientes>

RDF y OWL - Uso de Metadatos en XML

Metadatos avanzados

RDF (Resource Description Framework) permite describir recursos en la web, facilitando su organización y recuperación.

OWL (Web Ontology Language) amplía RDF con estructuras más avanzadas, útiles para definir relaciones complejas.

Ejemplo práctico: En un catálogo de libros XML, RDF puede usarse para agregar metadatos sobre autores, fechas de publicación y géneros.