La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso: XML, de los datos a la presentación CAPTIVA ·

Presentaciones similares


Presentación del tema: "Curso: XML, de los datos a la presentación CAPTIVA ·"— Transcripción de la presentación:

1 Curso: XML, de los datos a la presentación CAPTIVA · www.captiva.es
XML, el lenguaje Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA ·

2 Estructura de un documento
XML sólo marca las reglas Tú decides qué tags usar y qué significado/representación tendrán Componentes de un documento XML: Elementos: <elemento> Atributos: <elemento atributo=“valor”> Entidades: <elemento>Esto es una entidad </elemento> Componentes avanzados: Secciones CDATA Instrucciones de procesamiento (PI) Casi todas las aplicaciones de Internet se basan en HTML.

3 Estructura de documento (II)
Ejemplo de documento XML

4 Estructura de documento (III)
XML no busca crear un documento acabado (ej Latex) Necesita otros componentes (hojas de estilos) Ejemplo anterior “formateado” con una hoja de estilo: TIME-O-GRAM Priority: important To: Sarah Subject: Reminder Don't forget to recharge K-9 twice a day. Also, I think we should have his bearings checked out. See you soon (or late). I have a date with some Daleks... From: The Doctor

5 Estructura de documento (IV)
El documento se puede dividir en regiones Encabezado con info del documento: <?xml version=“1.0”?> Elementos Necesitan una etiqueta de inicio y fin: <subject></subject> Se organizan jerárquicamente Siempre debe haber un elemento raíz: <time-o-gram> Cada elemento puede tener un número de atributos (modifican comportamiento,función del elemento): <time-o-gram pri=“important”> Volviendo al ejemplo podemos ver la estructura de elementos y por su nombre intuimos su función:

6 Estructura de documento (V)
Todos los componentes se pueden representar en árbol Elemento raíz y elemento de documento Rectángulos que cierran una rama  hojas (contenido, datos del documento) Nodos (elementos y atributos)

7 Prólogo del documento Prólogo
Todo lo que se encuentra antes del elemento raíz Partes Identificar archivo como documento XML Opcionalmente puede incluir Indicaciones de cómo validar documento  DTD Declaraciones especiales Ejemplo de prólogo:

8 Prólogo del documento (II)
Declaración XML Primera línea muy aconsejable del prólogo. Formato: <?xml nombre1 = “valor1” nombre2 = “valor2”?> Propiedades válidas: version  Número de versión: 1.0 ó 1.1 (evolución Unicode) encoding  Define codificación del documento: p.e.: UTF-8, iso , US-ASCII standalone  ‘yes’ o ‘no’ Indica si se incluyen entidades externas o documentos DTD Siempre se debería indicar la versión como mínimo XML 1.1 updates XML so that it no longer depends on the specific Unicode version: you can always use the latest. It also adds checking of normalization, and follows the Unicode line ending rules more closely. You are encouraged to create or generate XML 1.0 documents if you do not need the new features in XML 1.1; XML Parsers are expected to understand both XML 1.0 and XML 1.1.

9 Prólogo del documento (III)
Declaración de tipo de documento Segunda línea del prólogo Formato: <!DOCTYPE elemento-raiz uri-del-dtd [ subconjunto-interno ]> Incluir esta línea implica que se usara un documento DTD para validar La URI especifica al parser XML cómo debe encontrar el DTD del documento El subconjunto interno es un sitio para poner declaraciones a utilizar en el documento (~variables) y partes de un DTD XML 1.1 updates XML so that it no longer depends on the specific Unicode version: you can always use the latest. It also adds checking of normalization, and follows the Unicode line ending rules more closely. You are encouraged to create or generate XML 1.0 documents if you do not need the new features in XML 1.1; XML Parsers are expected to understand both XML 1.0 and XML 1.1.

10 Elementos Son los componentes de un documento Tipos
Contenedor <nombre-elemento atributo1=“valor2” atributo2=“valor2” > Contenido </nombre-elemento> Vacío <nombre-elemento atributo1=“valor2” atributo2=“valor2” /> Reglas para el nombre: Debe comenzar por una letra o _ y puede contener letras, números, guiones, puntos y guiones bajos. Se puede incluir cualquier letra soportada en unicode (griegas, árabes, japonesas, …) No permitidas: punto y coma, espacio, tabulador, nueva linea, signo igual, comillas dobles o simples Los nombres son case-sensitive: <EjemplO> != <EJEMPLO> != <ejemplo> No puede haber separación entre < y nombre, pero puede haber espacios adicionales en cualquier otro sitio : <personal departamento=“finanzas” > <miembro > Perico de los Palotes</miembro ></personal > XML 1.1 updates XML so that it no longer depends on the specific Unicode version: you can always use the latest. It also adds checking of normalization, and follows the Unicode line ending rules more closely. You are encouraged to create or generate XML 1.0 documents if you do not need the new features in XML 1.1; XML Parsers are expected to understand both XML 1.0 and XML 1.1.

11 Elementos (II) Reglas Etiqueta de cierre antes que la de apertura Ambas etiquetas en el mismo padre <a>Esto está <b>mal</a></b> <a>Esto está <b>bien</b></a> En el texto no se permite “<“ o “>”  Utilizar referencias a entidades <a>Esto dará un < error </a> <a>Esto está < bien </a> HTML elimina los espacios extra. XML los conserva por defecto.

12 Atributos Sintaxis Utilidad
nombre = “valor” ó nombre = ‘valor’ Utilidad Definir/diferenciar un elemento Modificar su comportamiento No orientados a contener datos  Contenido de elemento Número de argumentos ilimitado pero únicos por elemento <equipo persona=“pedro” persona=”juan”/>  MAL <equipo persona1=“pedro” persona2=”juan”/>  BIEN Alternativa <equipo> <persona>pedro</persona> <persona>juan</persona> </equipo> En la cadena de valor se pueden incluir comillas de dos formas nombre = ‘valor “x”’ ó nombre = ‘valor "x"’ A través de DTD o XMLSchema podemos restringir los valores de los atributos (conjunto finito, tipo de datos, único para un tipo elemento, etc.)

13 Atributos (II) Nombres reservados
xml:lang  idioma del contenido de elem xml:space  ¿se han de conservar espacios extras? xml:link  XLink xml:attribute  XLink

14 Namespaces Agrupación de nombres de elementos y atributos de diferentes tipos documentos Ejemplo de uso: combinar formulas MathML dentro de documento XHTML Nombre cualificado ns-prefix:local-name Declaración de uso de un namespace, atributo dentro de elemento xmlns:name = “url” Url  dependiendo del procesador no siempre se procesa. Obj  Indicar el que mantiene el namespace Todos los hijos de un elemento heredan la definición de namespace Ejemplo de uso <?xml version="1.0" encoding="UTF-8"?> <book xmlns="http://www.books.org/schemas/books" xmlns:person="http://www.persons.org/schemas/persons"> <title>Mandatory book for students</title> <author> <person:name>John Doe</person:name> <person:title>Professor</person:title> </author> </book>

15 Namespaces (II) Inconvenientes de uso Namespaces y DTDs
Un DTD no soporta uso de namespaces Por cada namespace definido  Un DTD No se pueden importar más de un DTD por documento Solución  XMLSchema

16 Entidades Son “variables” que permiten substituir contenido
Declaración <!ENTITY cliente “Perico de los Palotes”> <!ENTITY telefono “<numero> </numero>”> Referencias &nombre; %nombre; Ejemplo <?xml version=“1.0”?> <!DOCTYPE message SYSTEM “/xmlstuff/dtds/message.dtd” [ <!ENTITY client “Fulanito de Tal y Cual"> <!ENTITY info “Le ofrecemos la increible oferta de bla bla bla , ..."> <!ENTITY contact “Ramón Rubial”> ] <message> <from>&contact;</from> <to>&client;</to> <subject>Increíble oferta</subject> <body>&info; Atentamente &contact; </body> </message>

17 Entidades (II) Tipos de entidades Entidades de carácter
Predefinidas &  & '  ‘ Numeradas. Código unicode ç ç  ç Nombradas. Deben o definirse o incluir DTD estándar que las incluye (p.e. ISO-8879) Þ  Þ Entidades internas Declaradas tras DOCTYPE Más prioridad que las externas Pueden incluir referencias a otras entidades ya declaradas

18 Entidades (III) Tipos de entidades Entidades externas
Igual que las internas pero referencian a ficheros externos a través de URI Gran cantidad de texto compartido entre varios documentos <?xml version=“1.0”?> <!DOCTYPE message SYSTEM “http://www.captiva.es/dtds/generico.dtd” [ <!ENTITY encabezado SYSTEM “header.xml”> <!ENTITY texto SYSTEM “body.xml”> <!ENTITY cierre SYSTEM “ending.xml”> ] <message> &enc; &texto; &cierre; </message> Se pueden usar identificadores públicos (procesador XML sabrá como encontrarlo  p.e. catálogos públicos) <!ENTITY encabezado PUBLIC “-//MIKE//FILE Catalog//EN” “http://www.mikestuff.com/catalog.xml”>

19 Entidades (IV) Tipos de entidades
Entidades externas en bruto (unparsed entities) Se incluye documento externo sin “parsear” <?xml version=“1.0”?> <!DOCTYPE message SYSTEM “http://www.captiva.es/dtds/generico.dtd” [ <!ENTITY foto SYSTEM “pics/fer.gif” NDATA GIF> ] <message> Éste soy yo: &foto; </message>

20 Comentarios Formato Prohibido “--” Dentro del comentario
<!-- Aquí lo que se quiera --> Prohibido “--” Dentro del comentario Comentarios inválidos: <! > <!-- --Esto no vale-- -->

21 Secciones CDATA Permiten incluir caracteres “sin secuencias de escape”
Formato <![ CDATA[ Aquí lo que se quiera ]]> Prohibido “]]>”  Puede usarse ]]> Ejemplo <comentario> El código quedaría así: <![CDATA[ if(x[y] >= 0 && x[y] < w) { printf(“OK!\n”); } ]]> </comentario>

22 Processing Instructions
Permiten incluir información de presentación Último recurso  P.e. generación de números de página Sólo interpretadas por procesador específico e ignoradas por resto Formato <?name data ?> Ejemplos <?hazalgo xyz?> <?nuevalinea?> <?seccion a?>

23 Ejemplos (I) Catálogo de CDs (www.w3cschools.org)

24 Ejemplos (II) Aplicación MathML: Aplicación W3C XML para representación matemática:

25 Ejemplos (III) Aplicación DocBook: Aplicación OASIS XML para formato de documentos:

26 Ejemplos (IV)

27 Ejemplos (V) Microsoft Word visualizando DocBook


Descargar ppt "Curso: XML, de los datos a la presentación CAPTIVA ·"

Presentaciones similares


Anuncios Google