La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

(eXtensible Mark-up Language)

Presentaciones similares


Presentación del tema: "(eXtensible Mark-up Language)"— Transcripción de la presentación:

1 (eXtensible Mark-up Language)
XML (eXtensible Mark-up Language) 27 de Mayo de 2004 Fernando Alonso Blázquez

2 Índice Introducción Construyendo documentos XML SAX2 API ¿Qué es XML?
Ventajas de XML Construyendo documentos XML Estructura jerárquica de elementos Algunas normas El prólogo Elementos Atributos Secciones CDATA Comentarios SAX2 API

3 Introducción Webs de asignaturas de la Escuela
Informática 3 Intercambio de Información B2B Almacenamiento de Información Producción automática de Libros, Artículos, Manuales... Explotación de los Metadatos Keywords, Indexing, Annotations, Interdocument linking...

4 ¿Qué es XML? Es un subconjunto de SGML (Standard Generalized Mark-up Language), simplificado y adaptado a Internet XML (eXtensible Mark-up Language) no es un lenguaje de marcado XML es un meta-lenguaje que permite definir lenguajes de marcado adecuados a usos determinados <libro> <autor>Antonio Muñoz Molina</autor> <titulo>El Jinete Polaco</titulo> <precio moneda=“EURO”>20</precio> </libro>

5 Ventajas de XML Procesable por humanos y por software
Separa la información o el contenido de su presentación o formato Ideal para transacciones B2B Permite poderosas técnicas de extracción de información y data-mining Fácil análisis sintáctico

6 Construyendo documentos XML
El elemento y sus atributos <autor pais=“ES”>Antonio Muñoz Molina</autor> XML “bien-formado” (well-formed) Cumple una serie de reglas descritas en la especificación oficial de XML v1.0 World Wide Web Consortium (W3C) Contenido del elemento Nombre del atributo Nombre del elemento Etiqueta de fin Valor del atributo

7 Estructura jerárquica de elementos
Los elementos deben seguir una estructura de “árbol”, es decir, estríctamente jeráquica Los elementos deben estar correctamente anidados Los elementos no se pueden superponer entre ellos Sólo puede haber un elemento raíz, en el que están contenidos todos los demás XML erróneo <nombre>Topacio Jade< >

8 Estructura jerárquica de elementos
remitente nombre: Topacio Jade destinatario nombre: Esmeralda Turquesa mensaje asunto: Informe de ventas texto parrafo: Ya esta acabado el informe. parrafo: Lo he dejado en el servidor del departamento.

9 Estructura jerárquica de elementos
<?xml version="1.0" encoding="UTF-7"?> <!DOCTYPE mensaje SYSTEM “mensaje.dtd”> <mensaje> <remitente> <nombre>Topacio Jade</nombre> </remitente> <destinatario> <nombre>Esmeralda Turquesa</nombre> </destinatario> <asunto>Informe de ventas</asunto> <texto> <parrafo> Ya esta acabado el informe. </parrafo> <parrafo> Lo he dejado en el servidor del departamento. </parrafo> </texto> </mensaje>

10 Algunas normas <animal> Perro <raza tipo="Cocker Spaniel"> <animal> Vaca <raza tipo="Holstein"> Todas las etiquetas tienen que estar debidamente “cerradas” etiqueta de cierre que se corresponda con la de apertura Las etiquetas sin contenido tienen una sintaxis especial <animal> Perro <raza tipo="Cocker Spaniel"> </animal> <animal> Vaca <raza tipo="Holstein"> <animal> Perro <raza tipo="Cocker Spaniel" /> </animal> <animal> Vaca <raza tipo="Holstein" />

11 Algunas normas Un nombre de elemento, atributo, entidad, etc., debe empezar siempre por una letra. Las letras “XML” (o “xml” o “xMl”,etc.) no pueden usarse como caracteres iniciales de un nombre de elemento, atributo, etc. XML es “case-sensitive”: <autor><Autor> El uso del espacio en blanco y los saltos de línea sólo se tienen en cuenta cuando aparecen en el valor de un atributo, o cuando se indica su significancia.

12 Marcado y datos Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan “marcas” (mark-up) y son las partes que el analizador sintáctico (parser) espera comprender El resto del documento, que se encuentra entre las “marcas”, son los datos que resultan entendibles por las personas Marcas en un documento XML son aquellas que comienzan con “<“ y terminan con “>” En el caso de referencias de entidad, el carácter inicial es “&” y el final “;”

13 El prólogo Es opcional La primera línea permite especificar:
La versión de XML (de momento sólo 1.0) La codificación de carácter (US-ASCII, UTF-8, UTF-7, UCS-2, EUC-JP, Big5, ISO , etc.) La segunda línea define el tipo de documento, especificando qué DTD (Document Type Definitions) valida y define los datos que contiene <?xml version="1.0" encoding="UTF-7”?> <!DOCTYPE mensaje SYSTEM “mensaje.dtd”> <?xml version="1.0" encoding=“ISO ”?> <!DOCTYPE HTML PUBLIC “-/ /W3C/ /DTD HTML 3.2 Final/ /EN”> <?xml version="1.0" encoding=“Big5”?>

14 Elementos Elementos con contenido Elementos vacíos
<nombre>Fulano Mengánez</nombre> <aviso tipo=“emergencia” gravedad=“mortal”> Que no cunda el pánico</aviso> <identificador referencia=“ ”/> <linea-horizontal/>

15 Atributos Manera de incorporar características o propiedades a los elementos Pueden estar marcados entre comillas simples (‘) o dobles (“) Un concepto se puede representar de diversas formas: consistencia <verdura clase=“zanahoria” longitud=’15” y media’> <cita texto=“’Hola, buenos días’, dijo él”> <gato><nombre>Micifú</nombre><raza>Persa</raza></gato> <gato raza=“Persa”>Micifú</gato> <gato raza=“Persa” nombre=“Micifú”/>

16 Entidades predefinidas
En XML 1.0 se definen cinco entidades para representar caracteres especiales y que no se interpretan como marcado por el procesadr XML Entidad Caracter & & < > ' "

17 Secciones CDATA Construcción en XML que permite especificar datos, utilizando cualquier carácter, especial o no, sin que se interprete como marcado XML. La razón de esta construcción es que a veces es necesario para los autores de documentos XML, poder leerlo facilmente sin tener que descifrar los códigos de entidades. Especialmente cuando son muchas. <ejemplo> <HTML> <HEAD><TITLE>Rock & ROLL</TITLE> </HEAD> </ejemplo> <ejemplo> <![CDATA[ <HTML> <HEAD><TITLE>Rock & Roll</TITLE></HEAD> ]]> </ejemplo>

18 Comentarios Insertados en el documento XML
Ignorados por el procesado de la información y las reproducciones del documento Tienen el mismo formato que en HTML Comienzan por “<!--” y terminan con “-->” Se pueden introducir en cualquier lugar de la instancia o del prólogo, pero nunca dentro de las declaraciones, etiquetas u otros comentarios.

19 (Document Type Definition)
DTD (Document Type Definition) 27 de Mayo de 2004 Fernando Alonso Blázquez

20 Índice Validación y definición de documentos
DTD: Document Type Definition Declaraciones de tipo Elemento Modelos de contenido Declaraciones de lista de Atributos Tipos de Atributos Declaración de Entidades

21 Document Type Definition (DTD)
Es como definir nuestro propio lenguaje de marcado para una aplicación específica Define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos Puede residir en un fichero externo y ser compartido por varios documentos XML. O bien puede estar contenido en el propio documento XML, como parte de su declaración de su prólogo. El documento XML que se ajusta a su DTD, se denomina “valido”  ”bien-formado”

22 Ejemplos de DTD <!DOCTYPE etiqueta [
<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)> <!ELEMENT nombre (#PCDATA)> <!ELEMENT calle (#PCDATA)> <!ELEMENT ciudad (#PCDATA)> <!ELEMENT pais (#PCDATA)> <!ELEMENT codigo (#PCDATA)> ]> <etiqueta> <nombre>Topacio Jade</nombre> <calle>Minas de Moria, 13</calle> <ciudad>Azanulbizar</ciudad> <pais>Khuzdul</pais> <codigo>78125</codigo> </etiqueta> <!DOCTYPE coche SYSTEM “http://www.tecnun.es/coche.dtd”> <coche> <modelo>...</modelo> ... </coche>

23 Declaraciones de tipo Elemento
Documento XML válido de acuerdo al DTD anterior <receta> <titulo>Arroz cocido</titulo> <ingredientes>Arroz</ingredientes> <procedimiento>Cocer el arroz</procedimiento> </receta> Deben empezar con “<!ELEMENT” seguidas por el identificador genérico del elemento que se declara A continuación tienen una especificación del contenido Ejemplo: <!ELEMENT receta (titulo, ingredientes, procedimiento)> Documento XML no válido <receta> <parrafo>La siguiente receta me la pasó Alvaro</parrafo> <titulo>Arroz cocido</titulo> <ingredientes>Arroz</ingredientes> <procedimiento>Cocer el arroz</procedimiento> </receta>

24 Especificación de contenido
EMPTY: No tiene contenido. <!ELEMENT linea-horizontal EMPTY> ANY: Puede tener cualquier contenido. Es mejor no usarla y estructurar adecuadamente los documentos <!ELEMENT batiburrillo ANY> Mixed: Puede tener caracteres o una mezcla de caracteres y sub-elementos especificados <!ELEMENT enfasis (#PCDATA)> <!ELEMENT parrafo (#PCDATA|enfasis)*> Element: Sólo puede contener sub-elementos especificados <!ELEMENT mensaje (remite, texto)>

25 Modelos de contenido <!ELEMENT aviso (parrafo)> <aviso> sólo puede contener un <parrafo> <!ELEMENT aviso (titulo, parrafo> <aviso> debe contener un elemento <titulo> seguido de un elemento <parrafo> <!ELEMENT aviso (parrafo | grafico)> La barra vertical “|” indica opción. El número de opciones no está limitado y se pueden agrupar usando paréntesis <!ELEMENT aviso (titulo, (parrafo | grafico))> <aviso> debe contener un <titulo> seguido de un <parrafo> o un <grafico>

26 <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>
Modelos de contenido Indicador de frecuencia Siguen directamente a un identificador general, una secuencia o una opción No pueden ir precedidos por espacios en blanco <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)> Indicador Frecuencia ? Opcional (0 ó 1 vez) * Opcional y repetible (0 ó más veces) + Necesario y repetible (1 ó más veces)

27 Declaración de lista de Atributos
<!ELEMENT mensaje (de, a, texto)> <!ATTLIST mensaje prioridad (normal | urgente) normal> <!ELEMENT texto (#PCDATA)> <!ATTLIST texto idioma CDATA #REQUIRED> Atributos Añaden información adicional a los elementos Sólo se pueden especificar una vez y en cualquier orden No pueden contener sub-atributos Declaración Empiezan con “<!ATTLIST” Identificador del elemento al que se aplica Nombre del atributo Tipo Valor por defecto <mensaje prioridad=“urgente”> <de>Topacio Jade</de> <a>Esmeralda Turquesa</a> <texto idioma=“español”> Hay que preparar los informes de junio </texto> </mensaje>

28 Declaración de lista de Atributos
#REQUIRED: Es obligatorio especificar el atributo. No tiene valor por defecto. #IMPLIED: Se puede omitir el atributo, sin que se adopte automáticamente un valor por defecto <!ATTLIST IMG URL CDATA #REQUIRED ALT CDATE #IMPLIED>

29 Tipos de Atributos Atributos CDATA (character data): Pueden contener casi cualquier cosa <!ATTLIST mensaje fecha CDATA #REQUIRED> < mensaje fecha=“21 de Mayo de 2003”> Atributos enumerados: Sólo pueden contener un valor de entre un número reducido de opciones <!ATTLIST mensaje prioridad (normal | urgente) normal>

30 Tipos de Atributos Atributos ID e IDREF
El tipo ID permite que un atributo determinado tenga un nombre único que podrá ser referenciado por un atributo de otro elemento que sea de tipo IDREF Permite implementar un sistema de hipervínculos en un documento XML <!ELEMENT enlace EMPTY> <!ATTLIST enlace destino IDREF #REQUIRED> <!ELEMENT capitulo (parrafo)*> <!ATTLIST capitulo referencia ID #IMPLIED>

31 Declaración de Entidades
La Entidades se utilizan para hacer referencia a objetos (ficheros, páginas Web, imágenes,...) que no deben ser analizados sintácticamente según las reglas de XML Se declaran mediante “<!ENTITY” Puede usarse para declarar una abreviatura que se utiliza como una forma más corta de algunos textos En otras ocasiones es una referencias a un objeto externo o local

32 Tipos de Entidades Las entidades pueden ser:
Internas – Externas Analizadas o No analizadas Generales o Parámetro Entidades generales internas: Son básicamente abreviaturas definidas en la sección del DTD del documento XML Son siempre entidades analizadas <!DOCTYPE texto[ <!ENTITY ovni “Objeto Volador No Identificado”> ]> <texto> <titulo> Durmiendo en clase, Topacio soñó con un &ovni; </titulo> </texto>

33 Tipos de Entidades Entidades generales externas analizadas
<!ENTITY intro SYSTEM “http://www.tecnun.es/intro.xml> Entidades no analizadas <!ENTITY logo SYSTEM “http://www.tecnun.es/logo.gif> Entidades parámetro Internas <!DOCTYPE texto[ <!ENTITY % elemento-alf “!ELEMENT ALF (#PCDATA)>”> %elemento-alf; ]> Entidades parámetro Externas <!ENTITY % elemento-alf SYSTEM “alf.ent”> ...

34 Ejemplo de DTD <?xml encoding=“UTF-7”?>
<!ELEMENT lista (persona)+> <!ELEMENT persona (nombre, *, relacion?)> <!ATTLIST persona id ID #REQUIRED> <!ATTLIST persona sexo (hombre | mujer) #IMPLIED> <!ELEMENT nombre (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT relacion EMPTY> <!ATTLIST relacion amigo-de IDREFS #IMPLIED enemigo-de IDREFS #IMPLIED> <?xml version=“1.0”?> <!DOCTYPE lista SYSTEM “Lista.dtd”> <lista> <persona sexo=“hombre” id=“Topacio”> <nombre>Topacio Jade</nombre> <relacion amigo-de=“esmeralda”> </persona> <persona sexo=“mujer” id=“esmeralda”> <nombre>Esmeralda Turquesa</nombre> </lista>


Descargar ppt "(eXtensible Mark-up Language)"

Presentaciones similares


Anuncios Google