XML y Bases de Datos, Modelado de Datos XML Usando DTDs

download XML y Bases de Datos, Modelado de Datos XML Usando DTDs

of 35

Transcript of XML y Bases de Datos, Modelado de Datos XML Usando DTDs

  • 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

    [email protected]

    Benito Salas

    [email protected]

    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

    [email protected]

    Benito Salas

    [email protected]

    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

    [email protected]

    Benito Salas

    [email protected]

    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/