View
232
Download
0
Category
Preview:
Citation preview
8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
1/35
XML y Bases de datosModelado de datos XML usando DTDs
Amparo Lopez Gaona
Agosto 2008
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs
Agosto 2008 1 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
2/35
Documentos bien formados
Un documento bien formado es el que cumple con la especificacion XML,
que dice que:Empieza especificando que se trata de un documento XML.
Tiene un elemento raz.
Tiene nombres unicos de atributos.
El valor de cada atributo se especifica entre comillas.No tiene marcas sin cerrar o mal cerradas.
Solo tiene caracteres UNICODE validos.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs
Agosto 2008 3 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
3/35
... Documentos bien formados
Juan Pardo
juan.pardo@yahoo.com
Benito Salas
Benito.Salas@yahoo.com
Alicia Mata
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs
Agosto 2008 5 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
4/35
... Documentos bien formados
Juan Pardo
juan.pardo@yahoo.com
Benito Salas
Benito.Salas@yahoo.com
Alicia Mata
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 7 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
5/35
Documentos validos
Una de las innovaciones de XML es que permite especificar de manera
declarativa la estructura o esquema del documento.Verificar que un documento cumpla con las especificaciones se denominavalidacion.La forma de definir esquemas es por medio de:
DTD (Document Type Definition). Esta especificado como parteestandar de XML.
Esquemas (XML Schema Definition XSD).
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 8 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
6/35
DTDs
La DTD (Document Type Definition) es una gramatica que especifica
cuales elementos pueden estar en un documento; para cada unoque elementos puede y debe contener y en cual orden.
Es una gramatica libre de contexto extendida. Pues no tiene smbolosterminales.
Sea un alfabeto finito de etiquetas. Una DTD consta de unconjunto de reglas de la forma e r donde e y r es unaexpresion regular sobre .
De aqu que pueda usarse como estandar para intercambio dedocumentos si las partes se ponen de acuerdo.
Por ejemplo: estructuras moleculares, facturas, etc.Los componentes que se definen en una DTD son: elementos,atributos, entidades, PCDATA y CDATA.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 9 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
7/35
Declaracion de elementos en una DTD
Todo elemento permitido en el documento debe estar declarado en la
DTD.Sintaxis:
El nombre puede ser cualquier cadena, solo que no debe empezar con & ni
con XML.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 10 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
8/35
Declaracion de elementos en una DTD
Todo elemento permitido en el documento debe estar declarado en la
DTD.Sintaxis:
El nombre puede ser cualquier cadena, solo que no debe empezar con & ni
con XML. Contenido:
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 10 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
9/35
Declaracion de elementos en una DTD
Todo elemento permitido en el documento debe estar declarado en la
DTD.Sintaxis:
El nombre puede ser cualquier cadena, solo que no debe empezar con & ni
con XML. Contenido:
Sin contenido.
Solo texto.
Solo elementos.
Mixto.
Sin restricciones.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 10 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
10/35
Elementos vacos
Como su nombre lo indica, no tienen contenido. Si tiene alguna
informacion lo hara en sus atributos.Sintaxis:
Ejemplo de declaracion en la DTD:
Ejemplo de uso de elementos vacos:
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 12 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
11/35
Contenido solo texto
Sintaxis:
#PCDATA = (Parser Character Data)Ejemplo de declaracion en la DTD:
Ejemplo de uso:
Mexico
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 14 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
12/35
Contenido solo elementos
Sintaxis:
El modeloDeContenido se forma escribiendo entre parentesis la lista de lossubelementos separados por comas.
Sin smbolo, especifica que se debe usar una vez.+ especifica el al menos una vez este elemento.
* especifica el uso de varias veces inclusive ninguna.
? especifica el uso o no del elemento.
| da la opcion de usar uno u otro elemento.() para tratar como unidad un grupo de elementos.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 15 / 52
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
13/35
... Contenido solo elementos
Ejemplo de declaracion en la DTD:
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 17 / 52
C
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
14/35
... Contenido solo elementos
Ejemplo de declaracion en la DTD:
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 17 / 52
C id l l
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
15/35
... Contenido solo elementos
Ejemplo de declaracion en la DTD:
Ejemplo de uso:
Amparo
Lopez Gaona
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 17 / 52
C id i
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
16/35
Contenido mixto
Los elementos que contienen texto y elementos se denominan de contenidomixto. Sintaxis:
Ojo: en la declaracion el #PCDATA debe ir primero.Limita los elementos en la lista pero no limita ni el orden ni el numero de
veces en que debe aparecer.Ejemplo de declaracion en la DTD:
Ejemplo de uso:
Srita. Andrea Lopez
Tlalcoligia 98
Mexico D.F. 14440
Mexico
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 19 / 52
C t id i t i i
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
17/35
Contenido sin restriccion
Sintaxis:
Son como elementos de contenido mixto pero sin ningun control.De preferencia no usarlos.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 20 / 52
D l i d t ib t DTD
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
18/35
Declaracion de atributos en una DTD
La declaracion de todo atributo empieza con
El nombre del elemento al cual pertenece el atributo.
El nombre del atributo.
El tipo del atributo.
El valor por omision del atributo.>
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 21 / 52
Ti s d t ib t
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
19/35
Tipos de atributo
CDATA. Cadena de texto.
ID. Nombre unico, en el documento, entre los atributos.IDREF. Nombre de atributo usado como valor de un atributo ID.
IDREFS. Lista de IDREF separados por espacios en blanco.
ENTITY. Nombre de una entidad.
ENTITIES. Lista de entidades separadas por espacios en blanco.NOTATION. Nombre de una notacion.
enumeracion. Lista con los valores permitidos para ese atributo, cadauno separado por una barra vertical.
NMTOKEN. Cualquier cadena de uno o mas caracteres. A diferencia deun nombre XML, este puede empezar con un dgito.
NMTOKENS. Una lista de nombres de tokens separados por espacios enblanco.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 22 / 52
Valor para el atributo
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
20/35
Valor para el atributo
#REQUIRED. Se debe especificar valor para este atributo.
#IMPLIED. El valor para este atributo es opcional.#FIXED "valor". El atributo siempre tiene el valor especificado.
"valor" es el valor por omision de este atributo.
Ejemplo
| jardinero) "pitcher">
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 24 / 52
DTD para bibliografas
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
21/35
DTD para bibliografas
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 26 / 52
DTD para bibliografas
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
22/35
DTD para bibliografas
Existen dos formas de especificar en el documento XML que se va a usar
una DTD:Incluir la DTD en el documento:
Hacer referencia a la DTD desde el documento:
Ejemplos:
8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
23/35
Ejemplo de un documento XML
A First Course in Database Systems
JeffreyUllman
JenniferWidom
Addison-Wesley
Database Systems: The Complete Book
Hector Garcia-Molina
JeffreyUllman
JenniferWidom
Amazon.com says: Buy this book bundled with "A First Course,"its a great deal!Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 30 / 52
Referencias
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
24/35
Referencias
...
Database Systems: The Complete Book
Amazon.com says: Buy this book bundled with, Its a great deal!
Serge Abiteboul Quering semistructured data
...
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 32 / 52
La DTD debe cambiar
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
25/35
La DTD debe cambiar.
>Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 34 / 52
Entidades
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
26/35
Entidades
Se utilizan para definir variables/macro.Sintaxis:
Ejemplo de declaracion:
Ejemplo de uso:
.... &alg; ...
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 36 / 52
Atributos vs Elementos
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
27/35
Atributos vs Elementos
Ventajas de los atributos:
Pueden limitar su valor a una lista predefinida.Pueden tener un valor predefinido.
Son concisos.
Son mas faciles de usar que los elementos.
Desventajas de los atributos:
No son convenientes para cadenas grandes de texto.
No pueden contener informacion anidada.
No pueden omitirse los espacios en blanco en su valor.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 37 / 52
Ejercicio
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
28/35
Ejercicio
Crear la DTD
Juan Pardo
Juan.Pardo@yahoo.com
Benito Salas
Benito.Salas@yahoo.com
Alicia Mata
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 39 / 52
Solucion
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
29/35
S
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 41 / 52
Otro Ejercicio
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
30/35
j
Acapulco 5:23
34 6:41
19
poco oleaje
6:08 M\exico
7:05 25
14
8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
31/35
8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
32/35
q
Un esquema es una forma de definir la estructura de los documentos XML.Al igual que las DTDs los esquemas describen elementos y su modelo decontenido.Los esquemas difieren de las DTD en que:
Se escriben como documentos XML.
Son completamente compatibles con uso de espacios de nombre.
Pueden asignar a un elemento un tipo de datos como entero, fecha,etc.
La validacion del documento incluye ademas de la estructura delelemento su contenido.
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 46 / 52
DTD para ordenes de compra
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
33/35
metodo (USPS | UPS | Overnight) "UPS">
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 48 / 52
Esquema para ordenes de compra (dividirlo en 2 0 3
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
34/35
(frames)
=" " =" "
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 50 / 52
DTD para los esquemas (dividirlo en 2 0 3 frames)
http://find/http://goback/8/3/2019 XML y Bases de Datos, Modelado de Datos XML Usando DTDs
35/35
( )
xmlns:dt CDATA #FIXED>
name ID #REQUIRED
default CDATA #IMPLIEDdt:type %datatypes; #IMPLIEDdt:values CDATA #IMPLIEDrequiered (yes | no) #IMPLIEDxmlns:dt CDATA #FIXED>
model (open | closed) #IMPLIEDcontent (empty |textOnly |eltOnly |mixed) #IMPLIEDorder (one | seq | many) #IMPLIEDdt:type %datatypes; #IMPLIEDdt:values CDATA #IMPLIEDrequiered (yes | no) #IMPLIEDxmlns:dt CDATA #FIXED>
Amparo Lopez Gaona () XML y Bases de datos Modelado de datos XML usando DTDs Agosto 2008 52 / 52
http://find/http://goback/Recommended