unidad didáctica 6.1 validación de documentos xml: dtd

34
  JJ T aboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2014 / 2015 Unidad 6. Validación de Documentos XML 6.1 DTD

Upload: taboada11

Post on 07-Oct-2015

141 views

Category:

Documents


0 download

DESCRIPTION

Una definición de tipo de documento o DTD (siglas en inglés de document type definition) es una descripción de estructura y sintaxis de un documento XML o SGML

TRANSCRIPT

  • JJ Taboada LenIES San Sebastin, Departamento de Informtica

    LENGUAJE DE MARCAS Y SGICurso 2014 / 2015

    Unidad 6. Validacin de Documentos XML

    6.1 DTD

  • Guon del tema

    Qu es un DTD?

    Declaracin de DTD

    Declaracin de Elementos

    Declaracin de Atributos

  • Qu es un DTD?

    (DTD) singnifica DocumentType Definition (Definicin del

    tipo de Documento )

    Qu define?

    Los elementos y atributos que pueden aparecer en el

    documento XML.

    Un DTD puede ser declarado en lnea dentro de un

    documento XML, o como una referencia externa.

  • Declaracin de DTD interna

    Debe seguir la siguiente sintaxis

    Ejemplo de documento XML con una DTD interna:

    ]>

    JoseJuaniRecordatorioNO me olvides este finde

  • DTD externa

    Debe seguir la siguiente sintaxis

  • Por qu utilizar una DTD?

    Con una DTD, cada uno de los archivos XML se puede llevar

    a una descripcin de su propio formato.

    Con una DTD, grupos independientes de personas se ponen

    de acuerdo para utilizar una DTD estndar para intercambiar

    datos.

    Su aplicacin puede utilizar una norma DTD para verificar

    que los datos que recibimos del mundo exterior es vlida.

    Tambin puede utilizar un DTD para verificar sus propios

    datos.

  • Los Bloques de Construccin de

    documentos XML

    Visto desde un punto de vista DTD, todos los documentos

    XML (y los documentos HTML) estn compuestos por los

    siguientes elementos:

    ElementosAtributosEntidadesPCDATACDATA

  • Elementos

    Los elementos son los bloques de construccin

    principales de documentos HTML y documentos XML.

    Ejemplos de elementos HTML son body" y "tabla".

    Ejemplos de elementos XML podra ser "nota" y

    "mensaje". Los elementos pueden contener texto, otros

    elementos, o estar vaco. Ejemplos de vaco elementos HTML

    son "h", "br" y "img".

    Ejemplos:

    texto

    texto

  • Atributos

    Los atributos proporcionan informacin adicional

    acerca de los elementos .

    Los atributos se colocan siempre dentro de la etiqueta de

    apertura de un elemento.Atributos siempre vienen en pares de

    nombre / valor.

    El siguiente elemento "img" tiene informacin adicional acerca

    de un archivo de origen:

  • Entidades

    Algunos caracteres tienen un significado especial en XML,

    como el signo menor que (

  • Declaracin de elemento

    En una DTD, los elementos XML se declaran con una

    declaracin del elemento con la siguiente sintaxis:

    o

    Declaracin de distintos tipos de elementos y ocurrencia o aparicin

    Elementos vaco EMPTY

    Elemento PCDATA#PCDATA

    Elemento con cualquier contenidoANY

    Elemento con hijos(hijo1,hijo2)

    Aparicin de un solo elemento(hijo)

    Ocurrencia de un elemento como mnimo(hijo+)

    0 o ms ocurrencia de un elemento(hijo*)

    0 o una ocurrencia de un elemento(hijo?)

    Uno u otro contenido(hijo1 | hijo2)

    Contenido mixtoelemento (#PCDATA|hijo1|hijo2|hijo3|hijo4)*

  • Elementos vaco EMPTY

    Los elementos vacos se declaran con la palabra clave EMPTY

    Ejemplo DTD:

    Ejemplo XML :

    volver

  • Elementos de datosPCDATA

    Los elementos con los datos de caracteres se analizan con la

    declaracin # PCDATA entre parntesis:

    volver

    Ejemplo DTD:

    Ejemplo XML :Juani

  • Elemento con cualquier contenidoANY

    Los elementos que pueden tener cualquier contenido son

    declarados con ANY. Puede contener cualquier combinacin

    de los datos apta para su procesamiento:

    Ejemplo DTD:

    Ejemplo XML :

    JoseJuaniRecordatorioNO me olvides este finde

    volver

  • Elemento con hijos(hijo1,hijo2)

    Los elementos con uno o ms hijos se declaran con el nombre

    de los elementos de los hijos entre parntesis:

    Ejemplo DTD:

    Ejemplo XML :

    JoseJuaniRecordatorioNO me olvides este finde volver

  • Aparicin de un solo elemento(hijo)

    En esta declaracin el elemento secundario o hijo "mensaje"

    debe aparecer una vez, y slo una vez dentro del elemento

    "nota.

    Ejemplo DTD:

    ..

    Ejemplo XML :

    NO me olvides este finde

    volver

  • Ocurrencia de un elemento como

    mnimo(hijo+)

    El esta declaracin utilizamos el signo + para indicar que el

    elemento secundario mensaje debe aparecer una o ms veces

    dentro del elemento "nota.

    Ejemplo DTD:

    Ejemplo XML :

    NO me olvides este findequedamos a las 21h

    volver

  • 0 o ms ocurrencia de un elemento(hijo*)

    Usamos el signo * para indicar que el elemento secundario

    "mensaje" puede aparecer cero o ms veces dentro del

    elemento "nota.

    Ejemplo DTD:

    .

    Ejemplo XML :

    volver

  • 0 o una ocurrencia de un elemento(hijo?)

    Con el signo ?, el elemento secundario "mensaje" puede

    aparecer cero o una vez dentro del elemento "nota.

    Ejemplo DTD:

    Ejemplo XML :

    NO me olvides este findequedamos a las 21h

    Esto es errneovolver

  • Uno u otro contenido(hijo1 | hijo2)

    El ejemplo declara que el elemento "nota debe contener los

    elementos para, "de, asunto, y el elemento "mensaje" o

    cuerpo.

    Ejemplo DTD:

    .Ejemplo XML :

    JoseJuaniRecordatorioNO me olvides este finde

    volver

  • Contenido mixtoelemento(#PCDATA|hijo1|hijo2|hijo3|hijo4)*

    El ejemplo define que el elemento "nota puede contener

    cero o ms ocurrencias de datos de: caracteres analizados, o

    para", o "de", o asunto", o "mensaje".

    Ejemplo DTD:

    ..Ejemplos XML :

    JoseAntonioMaria

    para antonio

    volver

  • Ejercicios

    Realizar los ejercicios 1 y 2 del documento que se adjunta

  • Declaracin de atributos

    En una DTD, los atributos se declaran con una declaracin

    ATTLIST.

    Ejemplo DTD

    Ejemplo XML

  • El tipo de atributo puede ser:

    Tipo Descripcin

    CDATA El valor es un dato de carcter

    ( en1 | en2 | ..) El valor debe ser uno de una lista enumerada

    ID El valor es un identificador nico

    IDREF El valor es el identificador de otro elemento

    IDREFS El valor es una lista de identificadores de otros

    NMTOKEN El valor es un nombre XML vlido

    NMTOKENS El valor es una lista de nombres XML vlidos

    ENTITY El valor es una entidad

    ENTITIES El valor es una lista de entidades

    NOTATION El valor es un nombre de una notacin

    xml: El valor es un valor predefinido xml

  • Valor por defecto

    Valor Explicacin

    valor El valor predeterminado del atributo

    # REQUIRED El atributo es necesario

    # IMPLIED El atributo no es necesario

    # FIXED valor El valor del atributo es fijo

  • EjemplosDTD:

    XML:

    DTD:

    XML vlido:

    XML invlido:

    DTD:

    XML vlido:

    XML vlido

  • Usar elementos o atributos?

    Usar los atributos lo menos posible

    Algunos de los problemas con los atributos son: Los atributos no pueden contener varios valores (elementos secundarios pueden)

    Los atributos no son fcilmente extensibles (para futuros cambios)

    Los atributos no pueden describir las estructuras (elementos secundarios pueden)

    Los atributos son ms difciles de manipular por el cdigo del programa

    Los valores de los atributos no son fciles de probar con una DTD

    Slo utilizar los atributos como identificador nico

    JoseJuaniRecordatorioNO me olvides este finde

  • Entidades

    Las entidades son las variables utilizadas para definir los

    accesos directos a texto estndar o caracteres especiales.

    Pueden ser internas o externasEjemplo DTD:

    Ejemplo XML :

    &escritor;&copyright;

    Ejemplo DTD:

    Ejemplo XML :

    &escritor;&copyright;

    & entidad ;

  • Ejemplos de XML y DTD (I)

    John Doe

    34 Fountain Square Plaza

    OH

    45202

    Cincinnati US

    513-555-8889

    Cliente.xml

    Cliente.dtd

  • Ejemplos de XML y DTD (II)

    2

    Hamburguesas

    2.25

    $4.5

    2 Litros

    Coca Cola

    1.25

    1.5

    0.25

    A domicilio

    6.25

    Precio, Total)>

    Productos.xml

    Productos.dtd

  • Ejemplos de XML y DTD (III)

    Aprendiendo XMLMetodo de aprender XML

    InternetPublicacion WebXML

    34.5

    Libro.xml

    Libro.dtd

  • Ejemplos de XML y DTD (IV)

    John DoeJack Smith

    170.00-100.00-500.004.00

    John Doe

    5000.00212.50

    Banco.xml

    Banco.dtd

  • Ejercicios

    Realizar los ejercicios 3 y 4 del documento que se adjunta

  • Unidad 6

    Validacin de documentos XML

    6.1 DTD

    Fin de la presentacin

    Gracias!