SlideShare une entreprise Scribd logo
Lenguaje de Marcas y Sistemas
de Gestión de la información.
Ingeniero Informático Eduardo Rojo Sánchez.
Tema 2. DTD
Qué es un esquema DTD
• Un esquema DTD (Document Type Definition) es un documento que
define la estructura válida de un documento XML:
Los elementos, atributos, entidades, notaciones, etc., que pueden
aparecer, el orden y el número de veces que pueden aparecer, cuáles
pueden ser hijos de cuáles, etc.
El procesador XML utiliza el esquema DTD para verificar si un
documento es válido, es decir, si el documento cumple las reglas del
esquema DTD asociado.
DTD. Ejemplo de uso en la vida Real.
• Imagínate que Antonio de 1º de ASIR trabaja en Indra tecnología.
Utiliza un programa que lee información de un XML.
Imagínate que Ana de 1º de ASIR trabaja en Indra saluz.
Utiliza el mismo programa que lee información de un XML.
DTD. Ejemplo de uso en la vida Real.
• Ana le manda un e-mail a Antonio y le pide que le envié un fichero
XML con la información que necesita para su programa informático
de su empresa Indra Salud.
Antonio busca el fichero XML que necesita Ana, y utilizando un DTD
comprueba que el fichero XML este bien formado (respeta las reglas).
Ya que sino el fichero XML podría ser de cualquier forma (sin respetar
cualquier regla) y no lo podría valer a Ana.
Antonio coge el fichero XML y se lo envía por e-mail a Ana.
DTD. Ejemplo de uso en la vida Real.
• Ana recibe el fichero XML y necesita comprobar que este bien
formado y siga ciertas reglas porque sino el programa no lo podría
leer.
Ana utiliza su DTD con el fichero que le ha enviado Antonio y
comprueba que respeta las reglas para que ese fichero XML este bien
formado según unas reglas que ha establecido la empresa y su
programa informático lo pueda leer o escribir en él.
DTD. Ejemplo de uso en la vida Real 2.
• Que el XML se envíe por un código de programación como JAVA.
DTD
No es obligatorio utilizar un DTD para trabajar con un XML.
Cardinalidades en las relaciones
Notación Descripción Ejemplo
(nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)>
Ejercicio 1. Crea el DTD del siguiente XML
• <web>
<autor>Jesús Conde</autor>
</web>
Solución Ejercicio 1.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web [
<!ELEMENT web (autor)>
<!ELEMENT autor (#PCDATA)>
]>
<web>
<autor>Jesús Conde</autor>
</web>
Solución Ejercicio 2.
<!DOCTYPE web [
<web>
<autor>Jesús Conde</autor>
</web>
Declara el nombre del elemento raíz como “web".
Solución Ejercicio 2.
<!ELEMENT web (autor)>
<web>
<autor>Jesús Conde</autor>
</web>
“web" debe contener el elementos secundarios “autor".
Solución Ejercicio 2.
<!ELEMENT autor (#PCDATA)>
<web>
<autor>Jesús Conde</autor>
</web>
“autor" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto
normales.
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.
Cardinalidades en las relaciones
Notación Descripción Ejemplo
(nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)>
(nombreElemento1,
nombreElemento2)
Debe contener todos los elementos
de la lista.
<!ELEMENT aviso (de, para, mensaje)>
Ejercicio 2. Crea el DTD del siguiente XML
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
Solución Ejercicio 2.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE aviso[
<!ELEMENT aviso (de, para, mensaje)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT para (#PCDATA)>
<!ELEMENT mensaje (#PCDATA)>
]>
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
Solución Ejercicio 2.
• <!DOCTYPE aviso[
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
Declara el nombre del elemento raíz como "aviso".
Solución Ejercicio 2.
• <!ELEMENT aviso (de, para, mensaje)>
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
"aviso" debe contener tres elementos secundarios: "de", "para" y "mensaje".
Solución Ejercicio 2.
• <!ELEMENT de (#PCDATA)>
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
"de" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto
normales.
Solución Ejercicio 2.
• <!ELEMENT para (#PCDATA)>
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
“para" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto
normales.
Solución Ejercicio 2.
• <!ELEMENT mensaje (#PCDATA)>
<aviso>
<de>David</de>
<para>Rosalía</para>
<mensaje>Hoy hace un bonito día.</mensaje>
</aviso>
“mensaje" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto
normales.
Solución Ejercicio 2.
• El DTD define que un "aviso" XML debe tener los elementos
secundarios "de", "para" y "mensaje", y que estos elementos sólo
pueden contener texto plano.
Si tu XML no cumple con esta estructura y restricciones de contenido,
se considerará inválido según el DTD
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.
Ejercicio 3. Crea el DTD del siguiente XML
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
Solución Ejercicio 3.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE carta [
<!ELEMENT carta (fecha, presentacion, contenido, firma)>
<!ELEMENT fecha (#PCDATA)>
<!ELEMENT presentacion (#PCDATA)>
<!ELEMENT contenido (#PCDATA)>
<!ELEMENT firma (#PCDATA)>
]>
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
Solución Ejercicio 3.
• Este DTD define que el elemento raíz del XML es "carta", que debe
contener cuatro elementos secundarios: "fecha", "presentacion",
"contenido" y "firma".
• Cada uno de estos elementos sólo puede contener texto plano
(PCDATA).
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.
Cardinalidades en las relaciones
Notación Descripción Ejemplo
(nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)>
(nombreElemento1,
nombreElemento2)
Debe contener todos los elementos
de la lista.
<!ELEMENT aviso (de, para, mensaje)>
(nombreElemento+) Uno o más ocurrencias del elemento <!ELEMENT aviso (mensaje+)>
Ejercicio 4. Crea el DTD del siguiente XML
<cartas>
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
</cartas>
Solución Ejercicio 4.
• <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cartas [
<!ELEMENT cartas (carta+)>
<!ELEMENT carta (fecha, presentacion, contenido, firma)>
<!ELEMENT fecha (#PCDATA)>
<!ELEMENT presentacion (#PCDATA)>
<!ELEMENT contenido (#PCDATA)>
<!ELEMENT firma (#PCDATA)>
]>
Solución Ejercicio 4.
<cartas>
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimado cliente:</presentacion>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
</cartas>
Solución Ejercicio 4.
• Este DTD define que el elemento raíz del XML es "cartas", que puede
contener uno o más elementos secundarios "carta".
Cada elemento "carta" debe contener cuatro elementos secundarios:
"fecha", "presentacion", "contenido" y "firma".
Cada uno de estos elementos sólo puede contener texto plano
(PCDATA).
Solución Ejercicio 4.
• <!DOCTYPE cartas [
El elemento raíz del XML es "cartas".
Solución Ejercicio 4.
• <!ELEMENT cartas (carta+)>
"cartas" puede contener uno o más elementos secundarios "carta".
Solución Ejercicio 4.
• <!ELEMENT carta (fecha, presentacion, contenido, firma)>
Cada elemento "carta" debe contener cuatro elementos secundarios: "fecha", "presentacion", "contenido" y
"firma".
Solución Ejercicio 4.
• <!ELEMENT fecha (#PCDATA)>
Fecha sólo puede contener texto plano (PCDATA).
Solución Ejercicio 4.
• <!ELEMENT presentacion (#PCDATA)>
Presentación sólo puede contener texto plano (PCDATA).
Solución Ejercicio 4.
• <!ELEMENT contenido (#PCDATA)>
Contenido sólo puede contener texto plano (PCDATA).
Solución Ejercicio 4.
• <!ELEMENT firma (#PCDATA)>
Firma sólo puede contener texto plano (PCDATA).
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.
Ejercicio 5. Crea el DTD del siguiente XML
Solución Ejercicio 5.
<!DOCTYPE libros [
<!ELEMENT libros (libro+)>
<!ELEMENT libro (titulo, autor, editorial, fecha, contenido)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT editorial (#PCDATA)>
<!ELEMENT fecha (#PCDATA)>
<!ELEMENT contenido (capitulo1, capitulo2, capitulo3?, capitulo4?)>
<!ELEMENT capitulo1 (#PCDATA)>
<!ELEMENT capitulo2 (#PCDATA)>
<!ELEMENT capitulo3 (#PCDATA)>
<!ELEMENT capitulo4 (#PCDATA)>
]>
Solución Ejercicio 5.
• <!ELEMENT libros (libro+)>
El elemento raíz del XML es "libros", que puede contener uno o más
elementos secundarios "libro".
Solución Ejercicio 5.
• <!ELEMENT contenido (capitulo1, capitulo2, capitulo3?,
capitulo4?)>
• Se permiten dos elementos opcionales en la sección "contenido",
"capitulo3" y "capitulo4".
El signo de interrogación después de los nombres de los elementos
significa que no son obligatorios.
Solución Ejercicio 5.
• <!ELEMENT libro (titulo, autor, editorial, fecha, contenido)>
• Cada elemento "libro" debe contener los siguientes elementos
secundarios:
"titulo": que sólo puede contener texto plano.
"autor": que sólo puede contener texto plano.
"editorial": que sólo puede contener texto plano.
"fecha": que sólo puede contener texto plano.
"contenido": que debe contener al menos dos elementos secundarios
"capitulo1" y "capitulo2", y puede contener opcionalmente "capitulo3" y
"capitulo4". Todos los elementos "capitulo" sólo pueden contener texto
plano.
Solución Ejercicio 5.
• Este DTD establece las restricciones para que el XML sea válido y
cumpla con la estructura definida.
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.
Cardinalidades en las relaciones
Notación Descripción Ejemplo
(nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)>
(nombreElemento1,
nombreElemento2)
Debe contener todos los elementos
de la lista.
<!ELEMENT aviso (de, para, mensaje)>
(nombreElemento+) Uno o más ocurrencias del elemento <!ELEMENT aviso (mensaje+)>
(nombreElemento?) Cero o una ocurrencia del elemento <!ELEMENT aviso (mensaje?)>
(nombreElemento*) Cero o más ocurrencias del
elemento
<!ELEMENT aviso (mensaje*)>
Ejercicio 6. Crea el DTD del siguiente XML
<CV>
<nombre>Jesus Conde</nombre>
<direccion>San Sebastian n9</direccion>
<telefono>6447458</telefono>
<email>Eduardo.rojo@gmail.com</email>
<email> Eduardo.rojo@hotmail.com </email>
<idiomas>
<idioma>Ingles</idioma>
<idioma>Frances</idioma>
<idioma>Italiano</idioma>
</idiomas>
</CV>
Solución Ejercicio 6.
• <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cv [
<!ELEMENT cv (nombre, direccion, telefono, fax?, email+,
idiomas)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT direccion (#PCDATA)>
<!ELEMENT telefono (#PCDATA)>
<!ELEMENT fax (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT idiomas (idioma*)>
<!ELEMENT idioma (#PCDATA)>
]>
Solución Ejercicio 6.
• <!DOCTYPE cv [
Indica que CV es el elemento raíz del documento.
Solución Ejercicio 6.
• <!ELEMENT cv (nombre, direccion, telefono, fax?, email+,
idiomas)>
Señala que el elemento CV tiene que contener los siguientes elementos: un nombre, una dirección, un
teléfono, opcionalmente un fax, una o más email y un idioma.
Solución Ejercicio 6.
• <!ELEMENT nombre (#PCDATA)>
Informa que el elemento nombre puede contener texto.
Solución Ejercicio 6.
• <!ELEMENT direccion (#PCDATA)>
Indica que el elemento dirección puede contener texto.
Solución Ejercicio 6.
• <!ELEMENT telefono (#PCDATA)>
Señala que el elemento teléfono puede contener texto.
Solución Ejercicio 6.
• <!ELEMENT fax (#PCDATA)>
Indica que el elemento fax puede contener texto.
Solución Ejercicio 6.
• <!ELEMENT email (#PCDATA)>
Indica que el elemento email puede contener texto.
Solución Ejercicio 6.
• <!ELEMENT idiomas (idioma*)>
Señala que el elemento idiomas opcionalmente (podría no tener ninguno) puede tener varios elementos
idiomas.
Solución Ejercicio 6.
• <!ELEMENT idioma (#PCDATA)>
Indica que el elemento idioma puede contener texto.
Utilizamos Liquid Studio para comprobar que
esta bien.
Lo abrimos con internet Explorer.

Contenu connexe

Similaire à 2. DTD.pdf

Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
profesoralpe4
 
Xml dtd
Xml dtd Xml dtd
Xml dtd
Maria Mar
 
Apuntes de DTD
Apuntes de DTDApuntes de DTD
Apuntes de DTD
Abrirllave
 
Manual XML
Manual XMLManual XML
Manual XML
Hermes Romero
 
Tutorial de DTD en PDF
Tutorial de DTD en PDFTutorial de DTD en PDF
Tutorial de DTD en PDF
Abrirllave
 
Clase 8 Manipulación del DOM
Clase 8 Manipulación del DOMClase 8 Manipulación del DOM
Clase 8 Manipulación del DOM
José Ricardo Tillero Giménez
 
XML de A a Z
XML de A a ZXML de A a Z
XML de A a Z
Hicham QAISSI
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
Gabby1749
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
KOKOA - Comunidad de Software Libre
 
Qué es xml
Qué es xmlQué es xml
Archivo xml
Archivo xmlArchivo xml
Archivo xml
Gabby1749
 
05introduccionhtml 100901142734-phpapp02
05introduccionhtml 100901142734-phpapp0205introduccionhtml 100901142734-phpapp02
05introduccionhtml 100901142734-phpapp02
SoftArt2014
 
Protocolo xml
Protocolo xmlProtocolo xml
Jessik
JessikJessik
Jessik
astrologia
 
Jessik
JessikJessik
Jessik
astrologia
 
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDesarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Didier Granados
 
PresentacióN Odt
PresentacióN OdtPresentacióN Odt
PresentacióN Odt
lfg_pc
 
Unidad 1 lenguajes de marcas
Unidad 1   lenguajes de marcasUnidad 1   lenguajes de marcas
Unidad 1 lenguajes de marcas
Maria Mar
 
Xml
XmlXml
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XML
Jose Benítez Andrades
 

Similaire à 2. DTD.pdf (20)

Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Xml dtd
Xml dtd Xml dtd
Xml dtd
 
Apuntes de DTD
Apuntes de DTDApuntes de DTD
Apuntes de DTD
 
Manual XML
Manual XMLManual XML
Manual XML
 
Tutorial de DTD en PDF
Tutorial de DTD en PDFTutorial de DTD en PDF
Tutorial de DTD en PDF
 
Clase 8 Manipulación del DOM
Clase 8 Manipulación del DOMClase 8 Manipulación del DOM
Clase 8 Manipulación del DOM
 
XML de A a Z
XML de A a ZXML de A a Z
XML de A a Z
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Qué es xml
Qué es xmlQué es xml
Qué es xml
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
05introduccionhtml 100901142734-phpapp02
05introduccionhtml 100901142734-phpapp0205introduccionhtml 100901142734-phpapp02
05introduccionhtml 100901142734-phpapp02
 
Protocolo xml
Protocolo xmlProtocolo xml
Protocolo xml
 
Jessik
JessikJessik
Jessik
 
Jessik
JessikJessik
Jessik
 
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y ValidacionesDesarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
Desarrollo de Aplicaciones Web II - Sesión 03 - Formularios y Validaciones
 
PresentacióN Odt
PresentacióN OdtPresentacióN Odt
PresentacióN Odt
 
Unidad 1 lenguajes de marcas
Unidad 1   lenguajes de marcasUnidad 1   lenguajes de marcas
Unidad 1 lenguajes de marcas
 
Xml
XmlXml
Xml
 
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XML
 

Dernier

MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
Ana Fernandez
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CARMENSnchez854591
 
Lecciones 11 Esc. Sabática. El conflicto inminente docx
Lecciones 11 Esc. Sabática. El conflicto inminente docxLecciones 11 Esc. Sabática. El conflicto inminente docx
Lecciones 11 Esc. Sabática. El conflicto inminente docx
Alejandrino Halire Ccahuana
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
marilynfloresyomona1
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
eleandroth
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 

Dernier (20)

MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
 
Lecciones 11 Esc. Sabática. El conflicto inminente docx
Lecciones 11 Esc. Sabática. El conflicto inminente docxLecciones 11 Esc. Sabática. El conflicto inminente docx
Lecciones 11 Esc. Sabática. El conflicto inminente docx
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
Módulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escrituraMódulo 1 de didactica de la lecto escritura
Módulo 1 de didactica de la lecto escritura
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 

2. DTD.pdf

  • 1. Lenguaje de Marcas y Sistemas de Gestión de la información. Ingeniero Informático Eduardo Rojo Sánchez.
  • 3. Qué es un esquema DTD • Un esquema DTD (Document Type Definition) es un documento que define la estructura válida de un documento XML: Los elementos, atributos, entidades, notaciones, etc., que pueden aparecer, el orden y el número de veces que pueden aparecer, cuáles pueden ser hijos de cuáles, etc. El procesador XML utiliza el esquema DTD para verificar si un documento es válido, es decir, si el documento cumple las reglas del esquema DTD asociado.
  • 4. DTD. Ejemplo de uso en la vida Real. • Imagínate que Antonio de 1º de ASIR trabaja en Indra tecnología. Utiliza un programa que lee información de un XML. Imagínate que Ana de 1º de ASIR trabaja en Indra saluz. Utiliza el mismo programa que lee información de un XML.
  • 5. DTD. Ejemplo de uso en la vida Real. • Ana le manda un e-mail a Antonio y le pide que le envié un fichero XML con la información que necesita para su programa informático de su empresa Indra Salud. Antonio busca el fichero XML que necesita Ana, y utilizando un DTD comprueba que el fichero XML este bien formado (respeta las reglas). Ya que sino el fichero XML podría ser de cualquier forma (sin respetar cualquier regla) y no lo podría valer a Ana. Antonio coge el fichero XML y se lo envía por e-mail a Ana.
  • 6. DTD. Ejemplo de uso en la vida Real. • Ana recibe el fichero XML y necesita comprobar que este bien formado y siga ciertas reglas porque sino el programa no lo podría leer. Ana utiliza su DTD con el fichero que le ha enviado Antonio y comprueba que respeta las reglas para que ese fichero XML este bien formado según unas reglas que ha establecido la empresa y su programa informático lo pueda leer o escribir en él.
  • 7. DTD. Ejemplo de uso en la vida Real 2. • Que el XML se envíe por un código de programación como JAVA.
  • 8. DTD No es obligatorio utilizar un DTD para trabajar con un XML.
  • 9. Cardinalidades en las relaciones Notación Descripción Ejemplo (nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)>
  • 10. Ejercicio 1. Crea el DTD del siguiente XML • <web> <autor>Jesús Conde</autor> </web>
  • 11. Solución Ejercicio 1. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web [ <!ELEMENT web (autor)> <!ELEMENT autor (#PCDATA)> ]> <web> <autor>Jesús Conde</autor> </web>
  • 12. Solución Ejercicio 2. <!DOCTYPE web [ <web> <autor>Jesús Conde</autor> </web> Declara el nombre del elemento raíz como “web".
  • 13. Solución Ejercicio 2. <!ELEMENT web (autor)> <web> <autor>Jesús Conde</autor> </web> “web" debe contener el elementos secundarios “autor".
  • 14. Solución Ejercicio 2. <!ELEMENT autor (#PCDATA)> <web> <autor>Jesús Conde</autor> </web> “autor" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto normales.
  • 15. Utilizamos Liquid Studio para comprobar que esta bien.
  • 16. Lo abrimos con internet Explorer.
  • 17. Cardinalidades en las relaciones Notación Descripción Ejemplo (nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)> (nombreElemento1, nombreElemento2) Debe contener todos los elementos de la lista. <!ELEMENT aviso (de, para, mensaje)>
  • 18. Ejercicio 2. Crea el DTD del siguiente XML <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso>
  • 19. Solución Ejercicio 2. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE aviso[ <!ELEMENT aviso (de, para, mensaje)> <!ELEMENT de (#PCDATA)> <!ELEMENT para (#PCDATA)> <!ELEMENT mensaje (#PCDATA)> ]> <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso>
  • 20. Solución Ejercicio 2. • <!DOCTYPE aviso[ <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso> Declara el nombre del elemento raíz como "aviso".
  • 21. Solución Ejercicio 2. • <!ELEMENT aviso (de, para, mensaje)> <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso> "aviso" debe contener tres elementos secundarios: "de", "para" y "mensaje".
  • 22. Solución Ejercicio 2. • <!ELEMENT de (#PCDATA)> <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso> "de" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto normales.
  • 23. Solución Ejercicio 2. • <!ELEMENT para (#PCDATA)> <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso> “para" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto normales.
  • 24. Solución Ejercicio 2. • <!ELEMENT mensaje (#PCDATA)> <aviso> <de>David</de> <para>Rosalía</para> <mensaje>Hoy hace un bonito día.</mensaje> </aviso> “mensaje" debe contener texto plano (PCDATA), lo que significa que sólo puede contener caracteres de texto normales.
  • 25. Solución Ejercicio 2. • El DTD define que un "aviso" XML debe tener los elementos secundarios "de", "para" y "mensaje", y que estos elementos sólo pueden contener texto plano. Si tu XML no cumple con esta estructura y restricciones de contenido, se considerará inválido según el DTD
  • 26. Utilizamos Liquid Studio para comprobar que esta bien.
  • 27. Lo abrimos con internet Explorer.
  • 28. Ejercicio 3. Crea el DTD del siguiente XML <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta>
  • 29. Solución Ejercicio 3. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE carta [ <!ELEMENT carta (fecha, presentacion, contenido, firma)> <!ELEMENT fecha (#PCDATA)> <!ELEMENT presentacion (#PCDATA)> <!ELEMENT contenido (#PCDATA)> <!ELEMENT firma (#PCDATA)> ]> <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta>
  • 30. Solución Ejercicio 3. • Este DTD define que el elemento raíz del XML es "carta", que debe contener cuatro elementos secundarios: "fecha", "presentacion", "contenido" y "firma". • Cada uno de estos elementos sólo puede contener texto plano (PCDATA).
  • 31. Utilizamos Liquid Studio para comprobar que esta bien.
  • 32. Lo abrimos con internet Explorer.
  • 33. Cardinalidades en las relaciones Notación Descripción Ejemplo (nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)> (nombreElemento1, nombreElemento2) Debe contener todos los elementos de la lista. <!ELEMENT aviso (de, para, mensaje)> (nombreElemento+) Uno o más ocurrencias del elemento <!ELEMENT aviso (mensaje+)>
  • 34. Ejercicio 4. Crea el DTD del siguiente XML <cartas> <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta> <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta> </cartas>
  • 35. Solución Ejercicio 4. • <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cartas [ <!ELEMENT cartas (carta+)> <!ELEMENT carta (fecha, presentacion, contenido, firma)> <!ELEMENT fecha (#PCDATA)> <!ELEMENT presentacion (#PCDATA)> <!ELEMENT contenido (#PCDATA)> <!ELEMENT firma (#PCDATA)> ]>
  • 36. Solución Ejercicio 4. <cartas> <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta> <carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta> </cartas>
  • 37. Solución Ejercicio 4. • Este DTD define que el elemento raíz del XML es "cartas", que puede contener uno o más elementos secundarios "carta". Cada elemento "carta" debe contener cuatro elementos secundarios: "fecha", "presentacion", "contenido" y "firma". Cada uno de estos elementos sólo puede contener texto plano (PCDATA).
  • 38. Solución Ejercicio 4. • <!DOCTYPE cartas [ El elemento raíz del XML es "cartas".
  • 39. Solución Ejercicio 4. • <!ELEMENT cartas (carta+)> "cartas" puede contener uno o más elementos secundarios "carta".
  • 40. Solución Ejercicio 4. • <!ELEMENT carta (fecha, presentacion, contenido, firma)> Cada elemento "carta" debe contener cuatro elementos secundarios: "fecha", "presentacion", "contenido" y "firma".
  • 41. Solución Ejercicio 4. • <!ELEMENT fecha (#PCDATA)> Fecha sólo puede contener texto plano (PCDATA).
  • 42. Solución Ejercicio 4. • <!ELEMENT presentacion (#PCDATA)> Presentación sólo puede contener texto plano (PCDATA).
  • 43. Solución Ejercicio 4. • <!ELEMENT contenido (#PCDATA)> Contenido sólo puede contener texto plano (PCDATA).
  • 44. Solución Ejercicio 4. • <!ELEMENT firma (#PCDATA)> Firma sólo puede contener texto plano (PCDATA).
  • 45. Utilizamos Liquid Studio para comprobar que esta bien.
  • 46. Lo abrimos con internet Explorer.
  • 47. Ejercicio 5. Crea el DTD del siguiente XML
  • 48. Solución Ejercicio 5. <!DOCTYPE libros [ <!ELEMENT libros (libro+)> <!ELEMENT libro (titulo, autor, editorial, fecha, contenido)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT editorial (#PCDATA)> <!ELEMENT fecha (#PCDATA)> <!ELEMENT contenido (capitulo1, capitulo2, capitulo3?, capitulo4?)> <!ELEMENT capitulo1 (#PCDATA)> <!ELEMENT capitulo2 (#PCDATA)> <!ELEMENT capitulo3 (#PCDATA)> <!ELEMENT capitulo4 (#PCDATA)> ]>
  • 49. Solución Ejercicio 5. • <!ELEMENT libros (libro+)> El elemento raíz del XML es "libros", que puede contener uno o más elementos secundarios "libro".
  • 50. Solución Ejercicio 5. • <!ELEMENT contenido (capitulo1, capitulo2, capitulo3?, capitulo4?)> • Se permiten dos elementos opcionales en la sección "contenido", "capitulo3" y "capitulo4". El signo de interrogación después de los nombres de los elementos significa que no son obligatorios.
  • 51. Solución Ejercicio 5. • <!ELEMENT libro (titulo, autor, editorial, fecha, contenido)> • Cada elemento "libro" debe contener los siguientes elementos secundarios: "titulo": que sólo puede contener texto plano. "autor": que sólo puede contener texto plano. "editorial": que sólo puede contener texto plano. "fecha": que sólo puede contener texto plano. "contenido": que debe contener al menos dos elementos secundarios "capitulo1" y "capitulo2", y puede contener opcionalmente "capitulo3" y "capitulo4". Todos los elementos "capitulo" sólo pueden contener texto plano.
  • 52. Solución Ejercicio 5. • Este DTD establece las restricciones para que el XML sea válido y cumpla con la estructura definida.
  • 53. Utilizamos Liquid Studio para comprobar que esta bien.
  • 54. Lo abrimos con internet Explorer.
  • 55. Cardinalidades en las relaciones Notación Descripción Ejemplo (nombreElemento) Una única ocurrencia del elemento. <!ELEMENT aviso (de)> (nombreElemento1, nombreElemento2) Debe contener todos los elementos de la lista. <!ELEMENT aviso (de, para, mensaje)> (nombreElemento+) Uno o más ocurrencias del elemento <!ELEMENT aviso (mensaje+)> (nombreElemento?) Cero o una ocurrencia del elemento <!ELEMENT aviso (mensaje?)> (nombreElemento*) Cero o más ocurrencias del elemento <!ELEMENT aviso (mensaje*)>
  • 56. Ejercicio 6. Crea el DTD del siguiente XML <CV> <nombre>Jesus Conde</nombre> <direccion>San Sebastian n9</direccion> <telefono>6447458</telefono> <email>Eduardo.rojo@gmail.com</email> <email> Eduardo.rojo@hotmail.com </email> <idiomas> <idioma>Ingles</idioma> <idioma>Frances</idioma> <idioma>Italiano</idioma> </idiomas> </CV>
  • 57. Solución Ejercicio 6. • <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cv [ <!ELEMENT cv (nombre, direccion, telefono, fax?, email+, idiomas)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT direccion (#PCDATA)> <!ELEMENT telefono (#PCDATA)> <!ELEMENT fax (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT idiomas (idioma*)> <!ELEMENT idioma (#PCDATA)> ]>
  • 58. Solución Ejercicio 6. • <!DOCTYPE cv [ Indica que CV es el elemento raíz del documento.
  • 59. Solución Ejercicio 6. • <!ELEMENT cv (nombre, direccion, telefono, fax?, email+, idiomas)> Señala que el elemento CV tiene que contener los siguientes elementos: un nombre, una dirección, un teléfono, opcionalmente un fax, una o más email y un idioma.
  • 60. Solución Ejercicio 6. • <!ELEMENT nombre (#PCDATA)> Informa que el elemento nombre puede contener texto.
  • 61. Solución Ejercicio 6. • <!ELEMENT direccion (#PCDATA)> Indica que el elemento dirección puede contener texto.
  • 62. Solución Ejercicio 6. • <!ELEMENT telefono (#PCDATA)> Señala que el elemento teléfono puede contener texto.
  • 63. Solución Ejercicio 6. • <!ELEMENT fax (#PCDATA)> Indica que el elemento fax puede contener texto.
  • 64. Solución Ejercicio 6. • <!ELEMENT email (#PCDATA)> Indica que el elemento email puede contener texto.
  • 65. Solución Ejercicio 6. • <!ELEMENT idiomas (idioma*)> Señala que el elemento idiomas opcionalmente (podría no tener ninguno) puede tener varios elementos idiomas.
  • 66. Solución Ejercicio 6. • <!ELEMENT idioma (#PCDATA)> Indica que el elemento idioma puede contener texto.
  • 67. Utilizamos Liquid Studio para comprobar que esta bien.
  • 68. Lo abrimos con internet Explorer.