• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Xml dtd

on

  • 11,044 views

Tutorial de XML y DTD, muy completo y sencillo de entender, con ejemplos y ejercicios.

Tutorial de XML y DTD, muy completo y sencillo de entender, con ejemplos y ejercicios.

Statistics

Views

Total Views
11,044
Views on SlideShare
10,418
Embed Views
626

Actions

Likes
0
Downloads
253
Comments
0

3 Embeds 626

http://iesperemaria.edu.gva.es 618
http://fp.edu.gva.es 7
http://moodle.ies.pmo 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Xml dtd Xml dtd Presentation Transcript

    • XML (EXTENSIBLE MARKUP LANGUAGE) Escrito por: Elisabeth
    • Historia del XML
      • Desarrollada a partir de 1996, como un subconjunto de SGML.
      • Adoptado por W3C.
      • W3C
      • Constituido en 1994 con el objetivo de desarrollar protocolos comunes para la evolución de Internet.
    • ¿Qué es XML?
      • XML es un lenguaje de marcas.
      • Sus partes se distinguen entre sí por medio de Etiquetas .
      • Es extensible: podemos crear nuestras propias etiquetas.
      • Sigue una sintaxis estricta, es poco tolerante a fallos.
      • Es necesario el anidamiento.
      • Hay dos tipos de etiquetas:
      • Etiqueta de apertura.
      • Etiqueta de cierre.
      • Ejemplo:
      • <?xml versión=”1.0”?>
      • <coche>
      • Citroen
      • <matricula> 6545BHG </matricula>
      • </coche>
    • HTML contra XML Se fuerza a tener una estructura consistente. Es posible olvidar cerrar alguna etiqueta Las etiquetas y atributos son extensibles. Las etiquetas y atributos son fijos. Se centra en los datos y es muy estructurado. Se centra en el despliegue y es menos estructurado XML HTML
    • ¿Para qué sirve XML?
      • Ayuda en la integración de datos. Nos ayuda a estandarizar el intercambio de información a través de ficheros .
      • Un documento XML es un documento de texto plano en el que se describe la estructura de la información que él mismo contiene.
      • XML no sólo contiene información sino también las estructuras del lenguaje necesarias para transmitir esa información, permitiendo crear nuestras propias etiquetas adaptadas a nuestras necesidades.
      • XML abre el camino para que los propios ordenadores interpreten la información de las páginas Web.
      • XML no contiene por sí sólo información sobre el formato en que se deben representar los datos. Son necesarias hojas de estilo CCS
      • Ejemplo:
      • <?xml versión=”1.0”?>
      • <valores>
      • <accion>
      • <mercado> Madrid </mercado>
      • <mercadoabierto> Si </mercadoabierto>
      • </accion>
      • </valores>
    • Ventajas de XML
      • Formato ideal para transacciones B2B.
      • Permite poderosas técnicas de extracción y búsqueda de información.
      • Las estrictas reglas para la composición de un documento XML, permite su fácil análisis sintáctico.
      • XML es sensitivo a mayúsculas y minúsculas.
      • Fácil de procesar/entender por software o por humanos.
      • Pensado para ser utilizado en cualquier lenguaje o alfabeto.
      • Separa radicalmente la información o contenido, de su presentación o formato.
    • Objetivos del XML:
      • Directo a la red: sus caracteres son fácilmente transferibles a través de internet.
      • Compatible con todas las aplicaciones.
      • Compatible con SGML.
      • Fácil digestión: sencillez.
      • Sin extras: no tienes características opcionales.
      • Alto y claro: es legible tanto para máquinas como para humanos.
      • Es fácil y rápido de diseñar.
      • Formalidad.
      • Lápiz y papel: se puede hacer desde un editor de textos.
      • Lo importante es comprenderse.
    • XML bien formados
      • Una herramienta que se utiliza es el XMLSpy. www.altova.com
      • En esta herramienta podemos crear nuestro XML.
      • Pulsando el botón “ check well-formedness” podemos comprobar si está bien formado o no.
      • Estará bien formada cuando:
      • Su sintaxis es válida.
      • Utiliza caracteres autorizados
      • Comienza y finaliza todas las marcas.
      • Si satisface un conjunto de reglas.
      • Es valido si está bien formado y satisface las reglas que le impone su DTD.
      • Para definir que debe ir en el fichero, en qué orden o qué es obligatorio debemos de crear el DTD.
    • Formar XML
      • Un documento se basa en una serie de entidades :
      • Cada entidad contiene uno o más elementos .
      • Cada elemento está formado por 0 o más atributos .
      • Podemos poner comentarios dentro de un documento con los símbolos
      • <!...y…>
      • Los comentarios pueden estar en cualquier parte del documento, pero sin son muchos pueden consumir ancho de banda.
      • Un archivo consta de:
      • Prólogo
      • Cuerpo
      • Epílogo
    • Ejemplo:
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=“no&quot;?>
      • <!...Esto es un comentario…>
      • <INFORMACION>
      • <INFO>
      • <TITULO> WINDOWS98? SOLO SI ME OBLIGAN! </TITULO>
      • <AUTOR> Fernando Damián Martines </AUTOR>
      • <EMAIL> Cami@yahoo.es </EMAIL>
      • <VERSION> 1.0 </VERSION>
      • </INFO>
      • </INFORMACION>
    • DTD ( Document Type Definition)
      • El dtd indica que contenido debe tener el documento XML y en qué orden.
      • Actúa de plantilla.
      • No guarda información sólo la estructura.
      • El dtd puede ser:
      • Externo.
      • Interno
      • Mixto.
    • Clases de DTD
      • Veremos estas dos clases:
      • DTD interno o incrustado.
      • DTD externo.
    • DTD INCRUSTADO
      • Un dtd empieza por :
      • <?xml versión=”1.0” standalone = “yes”?>
      • <!DOCTYPE nombre_etiqueta [
      • ]>
      • El atributo “standalone” del prólogo inicializado al valor “yes” indica que el documento es autosuficiente y no necesita de otros elementos externos.
    • DTD EXTERNO:
      • Un dtd Externo empieza por :
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
        • <!DOCTYPE pelicula SYSTEM “c:documentosfilmoteca.dtd”>
      • (si el DTD está en esa ruta)
        • <!DOCTYPE pelicula SYSTEM “http://www.mipagina.es/filmoteca.dtd”>
      • (si el DTD está en esa página web)
    • A partir de ahí comienza la definición del contenido de los DTD
      • El primer <!ELEMENT que aparece se refiere a la etiqueta raíz.
      • <!ELEMENT identificador (tipo_de_contenido)>
      • Ejemplo:
      <!ELEMENT nombre_vía (#PCDATA)>
    • Los tipos de contenidos que podemos indicar son:
      • #PCDATA: indica un contenido de tipo “dato analizable” (por ejemplo, un número o una palabra).
      • Otro elemento o elementos (si son varios aparecen separados por comas).
      • EMPTY : el elemento no tiene contenido (se llama elemento vacío).
      • ANY : el elemento puede tener cualquier contenido: No es muy conveniente utilizarlo, por ser demasiado genérico.
      • MIXED : el elemento puede tener tipos de contenido diversos, pero al contrario que con ANY, esos contenidos deben estar debidamente especificados.
    • Ejemplos:
      • <!ELEMENT sueldo (#PCDATA) >
      • <!ELEMENT dirección (nombre_vía, número, cp, localidad) >
      • <!ELEMENT salto-de-página EMPTY >
      • <!ELEMENT batiburrillo ANY >
      • <!ELEMENT identificador (nif | nie) >
      • (significa que el elemento “identificador” puede estar compuesto O por un “nif” O por un “nie”)
      • En la especificación de contenido se puede incorporar un símbolo de frecuencia:
        • Ninguno = el elemento aparece sólo una vez.
        • + = el elemento aparece 1 ó más veces.
        • * = el elemento es opcional y aparece 0 ó más veces.
        • ? = el elemento es opcional y aparece 0 ó 1 vez.
      • Ejemplos:
        • <!ELEMENT libro (prólogo?, capítulo+)>
        • <!ELEMENT resolución (descripción, alegaciones*)>
        • <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>
    • Más sobre XML: Atributos
      • La etiqueta denota el nombre del elemento, y el atributo , sus propiedades .
      • Los atributos sólo pueden indicarse en las etiquetas de apertura, no en las de cierre.
      • Un atributo está formado por el nombre del mismo y el valor que toma, separados por el signo de igualdad =. El valor del atributo debe estar entre comillas, simples o dobles.
      • Un atributo debe tomar valor siempre.
      • EJEMPLO:
      • <?xml version=“1.0”?>
      • <películas>
      • <película>
      • <título>El Padrino</título>
      • <actores>
      • <actor papel=“protagonista”>Al Pacino</actor>
      • <actor papel=“secundario”>Diane Keaton</actor>
      • </actores>
      • </película>
      • </películas>
      • OTRO EJEMPLO:
      • <?xml version=“1.0”?>
      • <trabajadores>
      • <trabajador situación =“fijo”>Pepe Gómez </trabajador>
      • <trabajador situación =“eventual”>Antonio Marín </trabajador>
      • </trabajadores>
    • Definición de atributos en un DTD
      • <!ATTLIST elemento atributo tipo vpredeterminado>
        • elemento es el nombre del elemento cuyos atributos queremos definir.
        • atributo es el nombre del atributo.
        • tipo es el tipo de valores que podrán tener el atributo.
        • vpredeterminado (opcional) es el valor predeterminado que tendrá ese atributo.
      • Para cada atributo de un elemento utilizaremos un ATTLIST distinto.
      • Ejemplo:
      • <película título=“El Padrino” duración=“180”/>
      • La línea correspondiente a ese elemento en el DTD sería:
      • <!ELEMENT película EMPTY>
      • (ya que estamos hablando de un elemento vacío).
      • Los atributos se definirían así:
      • <!ATTLIST película título CDATA “”>
      • <!ATTLIST película título CDATA “”>
      Y el documento completo sería… <?xml version=“1.0”?> <!DOCTYPE película [ <!ELEMENT película EMPTY> <!ATTLIST película título CDATA “”> <!ATTLIST película duración CDATA “”> ]> <película título=“El Padrino” duración=“180”/>
      • Los valores predeterminados que puede tener un atributo son:
        • #IMPLIED indica que es opcional aplicar un valor a un atributo, es decir, se trata de un atributo opcional y no indicamos ningún valor predeterminado.
        • #REQUIRED indica que es obligatorio asignar un valor al atributo. Es decir: el atributo debe obligatoriamente aparecer.
        • #FIXED valor indica que el valor del atributo debe ser el indicado y no es posible cambiarlo.
        • valor indica que el valor asignado es el predeterminado.
      • Ejemplos:
      • <!ATTLIST imagen ancho CDATA #REQUIRED>
      • <!ATTLIST alumno nota CDATA “5”>
      • <!ATTLIST persona edad CDATA #IMPLIED
      • También podemos indicar una lista de posibles valores para el atributo.
      • Ejemplo: queremos incluir un atributo con una calificación para cada película, del 1 al 5, con valor predeterminado 3. Lo haríamos de la siguiente forma:
      • <!ATTLIST película nota (1 | 2 | 3 | 4 | 5) “3”>
      • Por lo que estas definiciones serían válidas:
      • <película título=“El Padrino” nota=“5”/>
      • <película título=“El Padrino”/>
      • Los tipos de datos principales que pueden ir asociados a un atributo son:
        • CDATA  un valor cualquiera
        • (valor1 | valor2 | … )  un valor dentro del rango enumerado.
        • ID  un valor único.
        • IDREF  un valor único previamente indicado.
        • IDREFS  varios IDREF.
        • NMTOKEN  un nombre con sólo caracteres XML válidos (letras, números, puntos, guiones, subrayados y los dos puntos)
      • NMTOKENS  varios NMTOKEN
      • Caracteres especiales
      &quot; “ &apos; ` &gt; > &it; < &amp; &
      • Se declaran de la siguiente forma:
      • <!ENTITY nombre valor_de_sustitución>
      • Ejemplo: supongamos que queremos almacenar un precio en euros:
      • <precio>19,95 &#x20ac;</precio>
      • (&#x20ac es el código UNICODE del símbolo del euro).
      • Simplificaremos la tarea de indicar el euro usando la siguiente nomenclatura:
      • <!ENTITY euro “&#x20ac;”>
      • A partir de este momento podremos incluir el símbolo del euro así:
      • <precio>19,95 &euro</precio>
      • El documento completo sería
      • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
      • <!DOCTYPE precio [
      • <!ELEMENT precio (#PCDATA)>
      • <!ENTITY euro &quot;&#x20ac;&quot;>
      • ]>
      • <precio>19,95 &euro;</precio>
      • Supongamos que queremos incluir para cada película una frase de recomendación: “Obra maestra”, “Muy mala”, etc.
      • Nos creamos las entidades:
      • <!ENTITY om “Obra maestra”>
      • <!ENTITY mm “Muy mala”>
      • Pudiéndolas utilizar de la siguiente manera:
      • <película>
      • <título>El Padrino</título>
      • <calificación>&om;</calificación>
      • </película>
      • Supongamos que tenemos el siguiente documento xml:
      • <?xml version=“1.0” encoding=“UTF-8”?>
      • <notas>
      • <nota>El propietario no se hace responsable de las opiniones vertidas por los autores.</nota>
      • </notas>
      • En el ejemplo anterior podemos incluir la línea:
      • <!ENTITY notas SYSTEM “notas.xml”>
      • De manera que siempre que usemos la entidad &notas; se sustituirá su valor por el contenido del archivo. (SYSTEM indica que el archivo “notas.xml” está en el mismo directorio que el archivo actual).
    • Ejemplo de XML y su DTD
      • <?xml version=&quot;1.0&quot;?> <libro> <titulo> Cien años de soledad </titulo> <disponible tiempo=&quot;24&quot; unidad=&quot;horas&quot;/> <autor> Gabriel García Márquez </autor> <formato> Rústica </formato> <publicacion>1967 </publicacion> <precio cantidad=&quot;9.99&quot; moneda=&quot;euro&quot;/> <descuento cantidad=&quot;5&quot;/> <enlacelibro href=&quot;/exec/ISBN/84-473-0619-4&quot;/> </libro>
    • DTD:
      • <!ELEMENT autor ( #PCDATA ) > <!ELEMENT descuento EMPTY > <!ATTLIST descuento cantidad CDATA #REQUIRED > <!ELEMENT disponible EMPTY > <!ATTLIST disponible tiempo CDATA #REQUIRED > <!ATTLIST disponible unidad CDATA #REQUIRED > <!ELEMENT enlacelibro EMPTY > <!ATTLIST enlacelibro href CDATA #REQUIRED > <!ELEMENT formato ( #PCDATA ) > <!ELEMENT libro ( titulo | disponible | autor | formato | publicacion | precio | descuento | enlacelibro )* > <!ELEMENT precio EMPTY > <!ATTLIST precio cantidad CDATA #REQUIRED > <!ATTLIST precio moneda CDATA #REQUIRED > <!ELEMENT publicacion ( #PCDATA ) > <!ELEMENT titulo ( #PCDATA ) >
    • Ejercicio:
      • Construir un esquema XML para la siguiente DTD:
      <!ELEMENT Libro (Titulo, Contenido, Copyright)> <!ATTLIST Libro xmlns CDATA #REQUIRED> <!ELEMENT Titulo (#PCDATA)> <!ELEMENT Contenido ((Capitulo+, Separacion?)+)> <!ELEMENT Capitulo (Tema, Seccion+)> <!ATTLIST Capitulo materia (XML|Java) &quot;Java&quot;> <!ELEMENT Tema (#PCDATA)> <!ELEMENT Seccion (#PCDATA)> <!ATTLIST Seccion apartados CDATA #REQUIRED dificil (si|no) &quot;no&quot; > <!ELEMENT Separacion EMPTY> <!ELEMENT Copyright (#PCDATA)>
    •