Extensible Markup Language
XML
Ricardo Emmanuel Uriegas Ibarra
Joshua Nataniel Arrazola Elizondo
Deisy Dalila De La Fuente Alvarado
Elías Hernandez Rodriguez
Israel Antonio Guijarro López
Rodrigo Santamaría Martínez
Programación Orientada a Objetos
Universidad Politécnica de Victoria
Junio 2024
Uriegas Lover Extensible Markup Language Junio 2024
Índice
1 ¿Que es el XML?
2 Utilidad del XML
3 Ventajas de XML[1]
4 Desventajas de XML
5 Partes de un documento HTML
Prólogo
Cuerpo
Atributos
6 Ejemplificacion de un XML
7 ¿Qué es DTD?
8 Componentes Definidos por DTD
Elementos en DTD
Ejemplificación de DTD
Atributos en DTD
Entidades en DTD
Uriegas Lover Extensible Markup Language Junio 2024
¿Que es el XML?
¿Que es el XML?
Es un lenguaje de marcado desarrollado por la W3C (World Wide
Web Consortium); se utiliza para almacenar y transportar datos de
una manera legible tanto por humanos como por máquinas de manera
escalable [2]
<libro>
<titulo>Batman</titulo>
<autor>Frankie Rivers</autor>
<editorial>Porrua</editorial>
</libro>
Uriegas Lover Extensible Markup Language Junio 2024
Utilidad del XML
Utilidades del XML
Intercambio de datos: XML se utiliza para almacenar y compartir
datos; independiente a la plataforma y/o lenguaje de programación.
Almacenamiento de configuración: Aplicaciones y sistemas utilizan
archivos XML para almacenar configuraciones y preferencias, ejemplo
lo veremos con las contraint del sql que tenemos de práctica.
Representación de datos: XML se utiliza para representar datos
estructurados de manera jerárquica, lo que facilita su manipulación y
procesamiento por parte de la maquina.
Uriegas Lover Extensible Markup Language Junio 2024
Ventajas de XML[1]
Ventajas de utilizar XML
Extensibilidad: Después de diseñar un archivo XML y colocarlo en
producción, es posible extender el archivo con la adición de nuevas
etiquetas.
Estandarización: XML es prácticamente un estándar en la industria,
por lo que aprenderlo implica una ventaja profesional en muchos
aspectos.
Interoperabilidad: Debido a su estandarización, muchos lenguajes de
programación cuentan con soporte para manejar archivos XML, lo que
supone una vía de comunicación eficiente para hacer funcionar
sistemas entre múltiples lenguajes de programación.
Uriegas Lover Extensible Markup Language Junio 2024
Desventajas de XML
Desventajas de XML
Verbosidad: XML puede ser muy verboso, con etiquetas de apertura
y de cierre que aumentan significativamente el tamaño del
documento.
Legibilidad: Aunque XML está diseñado para ser legible por el ser
humano, la estructura jerárquica anidada propia del lenguaje puede
dificultar la lectura del mismo.
Tamaño de archivo mayor: En comparación con otros formatos
como JSON, los documentos XML tienden a ser más grandes debido
a su sintaxis y a la necesidad de incluir etiquetas de apertura y cierre
para cada elemento.
Uriegas Lover Extensible Markup Language Junio 2024
Partes de un documento HTML
Partes de un documento XML
Un documento XML está formado por
Prólogo
Cuerpo
Uriegas Lover Extensible Markup Language Junio 2024
Partes de un documento HTML Prólogo
Prólogo
El prólogo de XML es la primera línea de un documento XML, que declara
la versión de XML. Es una declaración opcional pero recomendada para
asegurar que el documento se procese correctamente.
El prólogo de un documento XML contiene:
Una declaración XML: Es la sentencia que declara al documento
como un documento XML.
Uno o más comentarios e instrucciones de procesamiento.
Ejemplo de prólogo en XML:
<?xml version="1.0" encoding="UTF-8"?>
Uriegas Lover Extensible Markup Language Junio 2024
Partes de un documento HTML Cuerpo
Cuerpo
En un documento XML el cuerpo no es opcional, el cuerpo debe contener
solo un elemento raíz que engloba al documento.
Ejemplo incorrecto:
<?xml version="1.0" ?>
<nombre>Richal</nombre>
<email>richal@[Link]</email>
Ejemplo correcto:
<?xml version="1.0" ?>
<alumnos>
<alumno>
<nombre>Richal</nombre>
<email>richal@[Link]</email>
</alumno>
</alumnos>
Uriegas Lover Extensible Markup Language Junio 2024
Partes de un documento HTML Atributos
Atributos
Los elementos pueden tener atributos, que son una manera de incorporar
características o propiedades a los elementos de un documento. Deben ir
entre comillas.
<Estudiante nombre="Mario" nacionalidad="mexicano">
Este estudiante se llama Mario y es mexicano
</Estudiante>
Uriegas Lover Extensible Markup Language Junio 2024
Ejemplificacion de un XML
Estructura Simple de un Documento XML[3]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
<Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail>Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Asunto>
<Parrafo>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
Uriegas Lover Extensible Markup Language Junio 2024
¿Qué es DTD?
DTD
Un DTD(Document Type Definition) es un conjunto de reglas sintacticas
para definir etiquetas, el DTD nos indica que etiquetas se pueden usar en
un documento, en qué orden deben aparecer, cuáles pueden aparecer
dentro de otras, cuáles tienen atributos, etc.
No es un documento XML y por lo tanto no necesita prólogo.
Debido a que XML es un sistema para definir lenguajes, quien necesite
usar XML para intercambio de datos debe definir su propio DTD.
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD
Componentes Definidos por DTD
Elementos: Son los principales componentes de los documentos XML
y HTML.
<nombre>Iván</nombre>
Atributos: Proporcionan información adicional acerca de los
elementos.
<cuadrado ancho="100" alto="100" />
Entidades: Componentes especiales que representan atajos a
caracteres especiales.
La mayoría de los componentes almacena algún tipo de información.
Existen dos tipos de datos declarables en DTD.
PCDATA: Es un texto que VA a ser analizado y parseado en
búsqueda de entidades o valores.
CDATA: Es un texto que NO VA a ser analizado ni parseado.
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Elementos en DTD
Definición de Elementos
En un DTD, la declaración elementos a utilizar en el archivo XML
correspondiente siguen la sintaxis:
<!ELEMENT {nombre} {contenido del elemento}>
<!ELEMENT {nombre} {categoría}>
Elementos que almacenan información dentro de sus etiquetas, parseable o
no, son declarados de la siguiente manera:
<!ELEMENT nombre (#PCDATA)>
<nombre>Iván</nombre>
Existen elementos vacíos, es decir, que no cuentan con un contenido dentro
de sus etiquetas. Estos elementos son creados con la categoría ’EMPTY’.
<!ELEMENT br EMPTY>
<br/>
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Elementos en DTD
Definición de Elementos
Un elemento puede contener a otros elementos dentro de sí mismo,
llamados hijos.
<!ELEMENT alumno (matricula,nombre)>
<!ELEMENT matricula (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<alumno>
<nombre>Ángel Iván Cabrera Rojas</nombre>
<matricula>2230343</matricula>
</alumno>
Se puede definir un elemento que puede contener cualquier elemento
previamente definido, las veces que se quiera y en cualquier orden a través
de la categoría ’ANY’:
<!ELEMENT nota ANY>
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Elementos en DTD
Definición de Elementos
Es posible que un elemento tenga una cantidad variable de un mismo
elemento ’hijo’ o una versión mixta de ’hijos’:
Una o más incidencias de un Hijo:
<!ELEMENT diario (entrada+)>
Cero o Más incidencias de un Hijo:
<!ELEMENT carrito (producto*)>
Cero o Una incidencia de un Hijo:
<!ELEMENT producto (descuento?)>
También es posible dar a elegir qué hijos definir de una lista
predeterminada de ellos:
<!ELEMENT mensaje (asunto, (mensaje|nota))>
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Ejemplificación de DTD
Ejemplificación de DTD [3]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Este es el DTD de Edit_Mensaje -->
<!ELEMENT Mensaje (Remitente, Destinatario+, Texto)>
<!ELEMENT Remitente (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Destinatario (Nombre, Mail)>
<!ELEMENT Nombre (#PCDATA)>
<!ELEMENT Mail (#PCDATA)>
<!ELEMENT Texto (Asunto, Parrafo)>
<!ELEMENT Asunto (#PCDATA)>
<!ELEMENT Parrafo (#PCDATA)>
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Definición de Atributos
Los atributos dan más información sobre un elemento o para ser más
precisos, define una propiedad de un elemento. Un atributo en XML
siempre lo encontramos en forma de ’name-value pair’. Un elemento puede
tener muchos o pocos atributos únicos.
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
La sintaxis básica de la declaración de los atributos DTD es la siguiente:
<!ATTLIST nombreElemento nombreStributo
tipoAtributo valorAtributo>
Nombre del elemento: especifica el nombre del elemento al que se
aplica el atributo
Nombre del atributo: especifica el nombre del atributo que se
incluye con el nombre del elemento
Tipo de atributo: Define el tipo de atributo
Valor del atributo: toma un valor fijo que el atributo debe definir.
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
Para definir atributos de un mismo elemento, se puede utilizar una o varias
declaraciones de atributos.
<!ATTLIST nombreElemento nombreAtributo1
tipoAtributo1 valorAtributo1>
<!ATTLIST nombreElemento nombreAtributo2
tipoAtributo2 valorAtributo2>
La anterior declaración es equivalente a la siguiente:
<!ATTLIST nombreElemento
nombreAtributo1 tipoAtributo1 valorAtributo1
nombreAtributo2 tipoAtributo2 valorAtributo2>
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
Tipos de atributos:
CDATA: el atributo contiene caracteres (sin restricciones).
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color CDATA #REQUIRED>
]>
<ejemplo color=" " />
<ejemplo color="amarillo" />
<ejemplo color="azul marino #000080" />
<ejemplo /> <! -- Error
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
NMTOKEN: el atributo sólo contiene letras, dígitos, y los caracteres
punto ”.”, guión dos puntos ”:”.
2
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color NMTOKEN #REQUIRED>
]>
<ejemplo color=" " />
<ejemplo color="azul-marino" />
<ejemplo color="1" />
<ejemplo color="azul marino"/> <! -- Error
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
valores: el atributo sólo puede contener uno de los términos de una
lista. La lista se escribe entre paréntesis, con los términos separados
por una barra vertical ”|”.
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color (azul|blanco) #REQUIRED>
]>
<ejemplo color=" " />
<ejemplo color="azul" />
<ejemplo color="morado"/> <! -- Error
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
Valores iniciales de los atributos:
REQUIRED: el atributo es obligatorio, no se especifica ningún valor
predeterminado.
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color CDATA #REQUIRED>
]>
<ejemplo color=" " />
<ejemplo color="amarillo" />
<ejemplo /> <! -- Error
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
IMPLIED: el atributo no es obligatorio u no se especifica ningún
valor predeterminado.
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color CDATA #REQUIRED>
]>
<ejempo />
<ejemplo color=" " />
<ejemplo color="amarillo" />
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Atributos en DTD
Declaración de Atributos
FIXED valor: el atributo tiene un valor fijo.
<!DOCTYPE ejemplo[
<!ELEMENT ejemplo EMPTY>
<!ATTLIST ejemplo color CDATA #FIXED "verde">
]>
<ejemplo color="verde" />
<ejemplo />
<ejemplo color=" " /> <!-- Error
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Entidades en DTD
Definición de Entidades
Las entidades se usan para definir atajos para caracteres especiales en
documentos XML.
En general, pueden declararse de las siguientes formas:
INTERNAS: Declaradas dentro del DTD.
EXTERNAS: Declaradas fuera del DTD.
Uriegas Lover Extensible Markup Language Junio 2024
Componentes Definidos por DTD Entidades en DTD
Definición de Entidades
Existen cuatro tipos de entidades:
INTEGRADAS
GENERALES
DE CARACTER
DE PARÁMETRO
Uriegas Lover Extensible Markup Language Junio 2024