Unidad 1 lenguajes de marcas

  • 1,376 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,376
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
49
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. XML IES Alcántara Curso 2010-2011
  • 2. XML
    • XML = eXtensible Markup Language.
    • Por ser un lenguaje de marcas, sus partes de distinguen entre sí por medio de etiquetas.
    • Extensible = podemos crear nuestras propias etiquetas, en lugar de estar atados a un conjunto de ellas, como ocurre en HTML.
    • Sigue una sintaxis estricta, es poco tolerante a fallos.
    • Existen dos tipos de etiquetas:
      • De apertura: <nombre_etiqueta>
      • De cierre: </nombre_etiqueta>
    • Necesario respetar el anidamiento.
  • 3. XML
    • <?xml version=&quot;1.0&quot;?>
    • <pelicula>
    • El Padrino
    • <director>Francis F. Coppola</director>
    • <actores>
    • <actor>Al Pacino</actor>
    • </actores>
    • </pelicula>
  • 4. ¿Pero para qué sirve XML?
    • Imaginemos que queremos mandar el siguiente fichero a una empresa con datos de cotización en bolsa:
  • 5. ¿Pero para qué sirve XML?
    • Este ejemplo genera una serie de problemas al receptor que tiene que interpretar el archivo:
      • ¿Qué es cada dato?
      • ¿Los campos van separados por comas?
      • ¿Están todos los campos que deberían aparecer o falta alguno?
    • Resultado: pruebas, errores, llamadas de teléfono… ¡El propio documento no nos da información! Y al cabo de unos meses, si una persona distinta abre ese mismo archivo, otra vez a rebuscar en la documentación y ver cuál era la estructura del archivo.
  • 6. ¿Pero para qué sirve XML?
    • XML nos permite subsanar estos problemas de una tacada, porque nos ayuda en la integración de datos, o dicho de otro modo: XML es el medio para ayudarnos 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 contiene, por tanto, no sólo información, sino también las estructuras de lenguaje necesarias para describir esa información, permitiendo al usuario crear sus propias etiquetas adaptadas a sus necesidades.
  • 7. ¿Pero para qué sirve XML?
    • XML abre el camino para que los propios ordenadores interpreten la información de las páginas web. Con HTML esto no es posible.
    • XML no contiene por sí solo información sobre el formato en que se deben representar los datos. Son necesarias hojas de estilo CSS:
  • 8. ¿Pero para qué sirve XML?
  • 9. ¿Pero para qué sirve XML?
    • <?xml version=&quot;1.0&quot;?>
    • <valores>
    • <accion>
    • <mercado>Madrid</mercado>
    • <mercadoabierto>SI</mercadoabierto>
    • <recomendacion>1</recomendacion>
    • <nombre>Aceralia</nombre>
    • <variacion>4</variacion>
    • <fecha>
    • <dia>12</dia>
    • <mes>05</mes>
    • <anyo>1992</anyo>
    • </fecha>
    • </accion>
    • </valores>
  • 10. Trabajando con XML
    • Descargamos XMLSpy: www.altova.com
    • Apartado Download  xmlspy  Standard Edition.
    • Clave válida para 30 días:
    • 44F4ADG-95ADY16-4PDG0DI-TS59AI1-AP997JI
    • Una vez instalado elegimos: File  new  XML – Extensible Markup Language.
    • En el siguiente cuadro de diálogo pulsamos cancel.
    • Copiamos el código del archivo acciones.xml
    • Elegimos View  Enhanced Grid View.
  • 11. Trabajando con XML
    • Se dice que un documento XML está bien formado si su sintaxis es válida:
      • Utiliza caracteres autorizados.
      • Comienza y finaliza todas las marcas.
    • Pulsando el botón “check well-formedness” podemos comprobar si nuestro documento está bien formado.
    • Con ayuda de este archivo, el destinatario de la información podrá interpretar el significado de cada campo.
    • Pero siguen sin resolverse algunas dudas que habíamos planteado:
      • ¿Están todos los campos que deberían aparecer?
      • ¿Los valores indicados están dentro de los permitidos?
  • 12. Trabajando con XML
    • Para resolver estas cuestiones creamos un documento que define aspectos como qué debe ir en un fichero XML, en qué orden o qué es obligatorio. Este documento es nuestro DTD (Document Type Definition).
  • 13. Objetivos de XML
    • Extraídos de http://www.w3.org/TR/REC-xml/#sec-origin-goals
    • 1) Directo a la red: un archivo XML contiene caracteres de texto, que son fácilmente transferibles a través de internet.
    • 2) Compatible con todas las aplicaciones: XML no está ligado a ninguna tecnología concreta.
    • 3) Compatible con SGML. SGML = Standard Generalized Markup Language. Concebido en los 60. Es complejo en comparación con XML, pero interesa que sean compatibles. XML es un subconjunto de SGML.
  • 14. Objetivos de XML
    • 4) Fácil digestión: sencillez. Es la razón de la popularidad de XML. Construir un analizador XML es muy sencillo: existe al menos uno para cada sistema operativo. Se ha extendido mucho.
    • 5) Sin extras: el número de características opcionales de XML es 0, de modo que si un analizador puede con un documento en este formato, podrá con todos.
    • 6) Alto y claro: un documento XML es legible para el ser humano, de modo que no sólo consigue ser eficaz para los procesos automáticos, sino que existe la posibilidad de que nosotros mismos interpretemos esos documentos.
  • 15. Objetivos de XML
    • 7) Lo quiero para ya: diseñar un documento XML es rápido.
    • 8) Formalidad: XML está bien formado, y su sintaxis es conforme a la forma extendida de Backus-Naur, usada para describir las gramáticas de los lenguajes de programación.
    • 9) Lápiz y papel: crear documentos XML debe ser sencillo, y se debe poder hacer desde un editor de textos o desde un programa complejo.
    • 10) Lo importante es comprenderse: XML no permite simplificaciones, aunque haya que escribir más etiquetas de las que serían necesarias.
  • 16. Documentos XML bien formados
    • XML se basa en el concepto de que un documento se compone de una serie de entidades (u objetos).
      • Cada entidad contiene uno o más elementos.
      • Cada elemento está caracterizado por cero o más atributos (o propiedades).
    • Los posibles elementos y sus propiedades están especificados en el DTD (Document Type Definition). Usando DTDs cada empresa puede definir su propio lenguaje para los documentos que suele usar habitualmente.
  • 17. Documentos XML bien formados
    • Un documento XML se dice que está bien formado si satisface un conjunto de reglas que permite que una herramienta XML lo analice correctamente.
    • Un documento XML es válido si está bien formado y satisface las reglas que le impone su DTD.
    • Podemos indicar comentarios dentro de un documento XML situándolo entre los símbolos <!-- y -->. Los comentarios pueden incluir aclaraciones, nombre del autor, fecha de creación, trabajo pendiente por hacer…
    • Los comentarios pueden estar en cualquier parte del documento, pero ojo, también viajan a través de internet, y si son excesivos pueden consumir mucho ancho de banda.
  • 18. Documentos XML bien formados
    • <!-- Este documento NO está bien formado -->
    • <?xml version=“1.0”?>
    • <mensaje>Hola & adios</mensaje>
    • <!-- Este documento está bien formado -->
    • <!-- Pero no es válido: le falta su DTD -->
    • <?xml version=“1.0”?>
    • <mensaje>Hola y adios</mensaje>
  • 19. Documentos XML bien formados
    • A lo largo del documento encontramos etiquetas = anotaciones entre los símbolos < y >:
      • Etiqueta de comienzo (o de apertura): <nombre_etiqueta>
      • Etiqueta de fin (o de cierre): </nombre_etiqueta>
    • Un nombre de etiqueta debe empezar por una letra, un guión bajo o dos puntos. Después del primer carácter se puede usar el guión normal.
    • Los elementos están delimitados por etiquetas de comienzo y fin en el caso de que tengan contenido:
    • <mensaje>Hola</mensaje>
    • Los elementos están delimitados por una etiqueta de elemento vacío si no tienen contenido. El sentido que tiene la etiqueta vacía es que ella misma tiene significado, o es obligatoria:
    • <imagen/>
  • 20. Documentos XML bien formados
    • Los documentos XML son sensibles a mayúsculas y minúsculas, por lo que <FICHA> es una etiqueta distinta a <ficha>. Es recomendable seguir siempre el mismo patrón de nomenclatura: siempre mayúsculas, siempre minúsculas, inicial en mayúscula, etc.
    • Todos los espacios y retornos de carro se tienen en cuenta (no así en HTML, como veremos).
    • Existen una serie de caracteres reservados que no se pueden utilizar porque forman parte de la sintaxis de XML. Son los siguientes: <, >, &, “ y ‘
    • Si los queremos utilizar debemos hacer uso de entidades: &lt, &gt, &amp, &quot y &apos.
  • 21. Documentos XML bien formados
    • Un archivo XML consta de tres partes:
      • Prólogo :
        • Indica el tipo de documento y sus características.
        • <?xml version=“1.0”?>
        • W3C recomienda no indicar la versión 1.1 salvo que se haga uso de las novedades que ésta añade.
      • Cuerpo :
        • Va siempre entre etiquetas raíz. Ejemplo: <valores> y </valores>
      • Epílogo (es opcional):
        • Contiene instrucciones de proceso y comentarios. Lo recomendable es que esas instrucciones de proceso aparezcan en el prólogo, y así no tener que contar con epílogo.
  • 22.  
  • 23. DTDs
    • DTD = Document Type Definition.
    • Como su nombre indica, el DTD define qué contenido deben tener los documentos XML asociados y en qué orden.
    • Actúa como una “plantilla” que sirve para determinar la validez de un archivo XML.
    • Ejemplo: queremos crear archivos XML con listas de medicamentos. Podemos definir un DTD que sirva como “modelo” para cada documento de medicamentos que creemos. Todos los archivos XML que sean conformes a esa definición serán considerados documentos descriptivos válidos de medicamentos.
    • El DTD no guarda información concreta sobre medicamentos , sino sobre qué estructura debe tener un documento XML que se ocupe de listar medicamentos.
    • Si en otro momento queremos crear archivos XML con listas de inmuebles, por ejemplo, el DTD creado para medicamentos no valdrá, y tendremos que generar uno nuevo.
    • Usando DTDs cada empresa puede definir su propio lenguaje para los documentos que suele usar habitualmente.
  • 24. DTDs
    • El DTD puede ser:
      • Interno al documento XML: está incluido en el propio documento.
      • Externo al documento XML: aparece como fichero aparte, lo cual permite que pueda ser referenciado por varios documentos XML.
      • Mixto: el DTD está especificado de las dos formas anteriores.
    • La forma de organizar un DTD es “relativamente” libre, aunque es conveniente seguir en él el mismo orden en el que se van a presentar los objetos en el documento XML.
  • 25. DTD incrustado
    • Es interno al documento XML que valida.
    • Aparece en el prólogo, es decir, antes de la etiqueta raíz.
    • Ejemplo:
      • <!-- Aquí empieza el prólogo -->
      • <?xml version=&quot;1.0&quot; standalone=&quot;yes&quot;?>
      • <!-- Aquí comienza la definición del DTD -->
      • <!-- Seguimos estando en el prólogo -->
      • <!DOCTYPE pelicula [
      • <!ELEMENT pelicula (titulo)>
      • <!ELEMENT titulo (#PCDATA)>
      • ]>
      • <!-- Finaliza la definición del DTD -->
      • <!-- Finaliza también el prólogo, al aparecer a continuación la etiqueta raíz -->
      • <pelicula>
      • <titulo>El Padrino</titulo>
      • </pelicula>
  • 26. DTD incrustado
    • Aparece en el prólogo del documento XML al que hace referencia.
    • Comienza por: <!DOCTYPE nombre [
    • Y finaliza por: ]>
    • El atributo “standalone” del prólogo inicializado al valor “yes” indica que el documento es autosuficiente y no necesita de otros elementos externos. Incluyéndolo proporcionamos una ayuda extra al analizador del documento, que ya sabe que no va a tener que buscar en ninguna fuente externa el DTD ningún otro elemento.
  • 27. DTD externo
    • Usar un DTD interno es interesante sólo si ese documento XML es el único que va a utilizarlo.
    • Pero si el DTD va a ser compartido por muchos documentos XML, es preferible que se encuentre en un lugar común en lugar de repetirse en cada documento. Así ahorramos espacio en los documentos y también, cualquier cambio que deba realizarse, se tendrá que hacer sólo en el DTD externo.
    • Además, el DTD podría ubicarse en un servidor web, de modo que cualquiera podría validar el documento que está creando, asegurándose así de que está utilizando la última versión del documento.
    • Un DTD externo consta de un prólogo, del mismo modo que hemos visto antes, y a continuación, la definición en sí del DTD, con etiquetas como <!ELEMENT.
    • En el documento XML que queremos validar con el DTD tendremos que incluir la declaración siguiente, para vincular ese documento con el DTD definido:
      • <!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)
  • 28. DTD externo
    • Si el DTD comienza con un prólogo, podría empezar, por ejemplo, por la línea:
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
    • A partir de ahí comienza la definición del contenido:
    • Declaración de ELEMENTOS: las etiquetas que hemos utilizado hasta ahora en nuestros documentos XML básicos delimitan elementos. Su declaración en un archivo DTD se hace de la siguiente forma:
    • <!ELEMENT identificador (tipo_de_contenido)>
    • El primer <!ELEMENT que aparece se refiere a la etiqueta raíz.
  • 29. DTDs
    • <!ELEMENT identificador (tipo_de_contenido)>
    • Ejemplos:
    • <!ELEMENT nombre_vía (#PCDATA)>
    • <!ELEMENT número (#PCDATA)>
    • <!ELEMENT dirección (nombre_vía, número, cp, localidad)>
    • <!ELEMENT inmueble (código, dirección, precio, superficie, teléfono)>
  • 30. DTDs
    • Los tipos de contenidos que podemos indicar son:
    • 1) #PCDATA (Parser Character Data): indica un contenido de tipo “dato analizable” (por ejemplo, un número o una palabra). Ejemplo:
    • <!ELEMENT sueldo (#PCDATA)>
    • 2) Otro elemento o elementos (si son varios aparecen separados por comas). Ejemplo:
    • <!ELEMENT clase (profesor)>
    • <!ELEMENT clase (profesor,aula)>
    • <!ELEMENT dirección (nombre_vía, número, cp, localidad)>
  • 31. DTDs
    • 3) EMPTY: el elemento no tiene contenido (se llama elemento vacío). Ejemplo:
    • <!ELEMENT salto-de-página EMPTY>
    • 4) ANY: el elemento puede tener cualquier contenido: #PCDATA, otros elementos… No es muy conveniente utilizarlo, por ser demasiado genérico. Ejemplo:
    • <!ELEMENT batiburrillo ANY>
  • 32. DTDs
    • 5) MIXED: el elemento puede tener tipos de contenido diversos, pero al contrario que con ANY, esos contenidos deben estar debidamente especificados. Ejemplos:
    • <!ELEMENT identificador (nif | nie)>
    • (significa que el elemento “identificador” puede estar compuesto O por un “nif” O por un “nie”)
    • <!ELEMENT postre (sorbete, (helado | tarta))>
    • (significa que el elemento “postre” está compuesto por un “sorbete” y además un “helado” o una “tarta”, pero nunca estos dos últimos simultáneamente)
  • 33. DTDs
    • 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)*)>
  • 34. ¿Cómo validar un archivo XML?
    • En primer lugar, definimos su DTD.
    • A continuación utilizamos alguno de los siguientes recursos:
      • Página web de validación.
      • Programa editor.
      • Herramienta de programación.
  • 35. ¿Cómo validar un archivo XML?
    • Validación mediante página web:
    • Buscamos una web de validación. Ejemplo: http://validator.w3.org
    • Normalmente sirven para comprobar la validez de cualquier documento elaborado con cualquier lenguaje de marcas (XML, HTML…).
    • En el caso de XML, el DTD debe estar incrustado en el documento XML para poder validarlo desde esta dirección.
    • Permite validar cualquiera de los siguientes casos:
      • Una dirección web (validate by URI).
      • Un documento previamente subido (validate by file upload).
      • Un documento directamente escrito en la página (validate by direct input).
  • 36. ¿Cómo validar un archivo XML?
  • 37. ¿Cómo validar un archivo XML?
    • Validación mediante programa editor:
    • Ejemplos:
      • Windows: XMLSpy.
      • Linux: Conglomerate.
    • Validación mediante herramienta de programación:
      • La forma más versátil y compleja (será vista posteriormente).
  • 38. Más sobre XML: Atributos
    • Las etiquetas pueden aprovecharse para incluir otros datos utilizando 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: en el prólogo encontramos los atributos version y encoding :
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
  • 39. ¿Para qué utilizar los atributos?
    • Usamos los atributos principalmente para diferenciar entre elementos del mismo tipo.
    • En el siguiente ejemplo utilizamos atributos para distinguir los actores protagonistas de los secundarios:
    • < ?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>
  • 40. ¿Para qué utilizar los atributos?
    • Ejemplo: distinguir los trabajadores fijos de los eventuales:
    • < ?xml version=“1.0”?>
    • <trabajadores>
    • <trabajador situación=“fijo”>Pepe Gómez</trabajador>
    • <trabajador situación=“eventual”>Antonio Marín</trabajador>
    • </trabajadores>
  • 41. Definición de atributos en un DTD
    • Declaración con un formato similar a la de los elementos, pero algo más compleja:
    • <!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.
  • 42. Definición de atributos en un DTD
    • 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…
  • 43. Definición de atributos en un DTD
    • <?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”/>
  • 44. Definición de atributos en un DTD
    • 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>
  • 45. Definición de atributos en un DTD
    • 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”/>
    • Pero ésta no:
    • <película título=“El Padrino” nota=“7”/>
  • 46. Definición de atributos en un DTD
    • <?xml version=“1.0”?>
    • <!DOCTYPE película [
    • <!ELEMENT película EMPTY>
    • <!ATTLIST película título CDATA “”>
    • <!ATTLIST película duración CDATA “”>
    • <!ATTLIST película nota (1 | 2 | 3 | 4 | 5) “3”>
    • ]>
    • <película título=“El Padrino” duración=“180”/>
  • 47. Definición de atributos en un DTD
    • 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.
  • 48. Codificación
    • El Estándar Unicode es un estándar de codificación de caracteres diseñado para facilitar el tratamiento informático de textos de múltiples lenguajes y disciplinas técnicas (ejemplo: música) además de textos clásicos de lenguas muertas.
    • Unicode define tres formas de codificación con el nombre UTF (Formato de Transformación Unicode, Unicode Transformation Format ): UTF-8, UTF-16 y UTF-32. Las formas de codificación simplemente describen el modo en que se representan los códigos.
    • Cuando escribimos en el prólogo encoding=“UTF-8” estamos indicando que el documento está codificado en formato UNICODE (podemos utilizar acentos, eñes, etc.).
    • http:// www.unicode.org / Public /5.1.0/ ucd / UnicodeData.txt
    • http:// www.fileformat.info / info / unicode /
  • 49. Entidades
    • Están delimitadas por el & y el ;
    • El analizador las sustituye por el valor que corresponda.
    • Existen 5 entidades predeterminadas, que nos permiten utilizar otros tantos símbolos en nuestros documentos XML:
    ALIAS CARÁCTER NOMBRE &quot; “ Comillas dobles &apos; ‘ Comillas simples &gt; > Mayor que &lt; < Menor que &amp; & Ampersand
  • 50. Entidades
    • Ejemplo:
      • <?xml version=“1.0” encoding=“UTF-8”?>
      • <película>Tango &amp; Cash</película>
    • No utilizaremos únicamente las entidades predeterminadas. Podemos crear las nuestras para:
      • Insertar caracteres especiales.
      • Simplificar textos largos y repetitivos.
      • Incluir ficheros externos en los documentos.
    • Véamoslo:
  • 51. Caracteres especiales
    • 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:
  • 52. Caracteres especiales
    • <?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>
  • 53. Textos que se repiten
    • 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>
  • 54. Incluir ficheros externos
    • 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 de la diapositiva 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 (el archivo “notas.xml” está en el mismo directorio que el archivo actual).
  • 55. Conclusiones DTD
    • Nos permiten crear documentos XML válidos y lograr la uniformidad en cuanto a su formato.
    • Utilizar DTD para validar documentos XML ahorra el tiempo y esfuerzo de una revisión manual, porque se puede hacer de forma automática.
    • No es perfecto: por ejemplo, no se puede restringir el tipo de datos de los elementos, ya que se supone que todo es texto. Nos es posible restringir el tipo de datos a los números enteros, por ejemplo.
    • Existe un sistema de validación más potente: los esquemas, que veremos más adelante.