tecnología xml - oocities · 2010. 1. 5. · un documento xml puede hacer uso de espacios de...
Post on 09-Feb-2021
7 Views
Preview:
TRANSCRIPT
-
Tecnología XML
Unidad: 3Laboratorio de Programación
Universidad Nacional de la Patagonia AustralUnidad Académica Río Gallegos
-
XML Laboratorio de Programacion 1
Indice
� Repaso� XML� DTD
� Entidades� Concepto� Tipos
� Internas� Externas
� Espacio de nombres� Concepto� Definición en XML
� Esquemas XML� Concepto: características, tipos de datos, ventajas� Schema XML vs. DTD� Tipos simples y complejos� Enumerados y restricciones
� Ejercicio
-
XML
Repaso
-
XML Laboratorio de Programacion 3
Qué es XML?
� Es un Lenguaje de Marcado Extensible (Extensible MarkupLanguaje, XML).
� XML sirve para estructurar información
� XML se parece a HTML
� XML es relativamente nuevo
� XML es una familia de tecnologías
� XML es extensible y modular
� XML es libre, independiente de la plataforma, ampliamente soportado
� XML es una recomendación técnica del W3C
-
XML Laboratorio de Programacion 4
Aplicaciones de XML
� Frameworks de desarrollo (Struts, Spring, etc..)
� OpenOffice.� Configuración de aplicaciones: Tomcat.� Estándares de contenidos en e-Learning.� Servicios web.� Definición de interfaces gráficas (XUL).� Sistemas de publicación de contenidos.� Bases de datos.
-
XML Laboratorio de Programacion 5
Términos en XML
Mrs.
Mary
McGoon
1401 Main Street
Anytown
por el parser.
Include marcas -->
Etiqueta
Elemento
Atributo
Comentario
-
XML Laboratorio de Programacion 6
XML: sintaxis� Un ejemplo:
ToveJaniReminderDon't forget me this weekend!
� Componentes de un documento XML:� Elementos
� componentes principales� ejemplo: note, to, …� pueden contener texto, otros elementos o estar vacíos
� Etiquetas� delimitan los elementos� marca el comienzo del elemento� marca el final del elemento
-
XML Laboratorio de Programacion 7
XML: sintaxis
� Atributos� proporcionan información adicional sobre los elementos� aparecen en la etiqueta de comienzo del elemento
� ejemplo:
� Entidades� representan una porción de texto� escapado de caracteres especiales� predefinidas:
� < <� > >� & &� " “� ' ‘
� definidas en DTDs
� PCDATA ( Parsed Character DATA): texto contenido en los elementos� CDATA ( Character DATA): valores de los atributos
-
XML Laboratorio de Programacion 8
Reglas sintácticas
� Una raiz.
� Anidación de las etiquetas.
� Sensible a mayúsculas.
� Atributos no vacíos y entrecomillados.
� Reglas para los nombres de etiquetas y atributos.
� ¿Satisface las reglas generales de sintaxis de XML? � Documento bien formado
-
DTD
Repaso
-
XML Laboratorio de Programacion 10
Conceptos
� DTD: Document Type Definition� Define el formato del documento, su esquema o tipo, el vocabulario a utilizar en un documento XML: � elementos� atributos� entidades� cómo se estructuran
� XML + DTD = documentos auto-descriptivos� Intercambio, compartir información: compromiso entre las partes participantes en el formato a utilizar
� Validación de los datos para su procesamiento automático
-
XML Laboratorio de Programacion 11
DTD’s
� Dos niveles de corrección:� ¿Satisface las reglas generales de sintaxis de XML?
� Documento bien formado
� ¿Satisface el DTD?� Documento válido
� DTD incluido en el propio documento XML:�
� DTD externo:�
� Documentos XML sin DTD
-
XML Laboratorio de Programacion 12
XML: DTDs
� Declaración de tipo de documento interna
]>
ToveJaniReminderDon't forget me this weekend!
-
XML Laboratorio de Programacion 13
XML: DTDs
� Declaración de tipo de documento externa
ToveJaniReminderDon't forget me this weekend!
� Note.dtd
-
XML Laboratorio de Programacion 14
DTDs - elementos
� Elementos
� Elementos vacíos
� ejemplo: � ejemplo XML:
� elementos de sólo texto�
� ejemplo:
� elementos con cualquier tipo de contenido�
� ejemplo:
-
XML Laboratorio de Programacion 15
DTDs - elementos� Elementos con hijos (secuencias)
� Los hijos deberán aparecer en esta misma secuencia en el documento
�
� ejemplo:
� un único elemento hijo�
� ejemplo:
� una o más ocurrencias del elemento hijo�
� ejemplo:
� cero o más ocurrencias del mismo elemento�
-
XML Laboratorio de Programacion 16
DTDs - elementos
� Elemento hijo opcional�
� un elemento u otro�
� ejemplo:
� ejemplo:
-
XML Laboratorio de Programacion 17
DTDs - atributos
� Atributos� � Ejemplo: � Ejemplo XML:
� Tipo de atributo� CDATA� (v1|v2|…) el valor será v1 o v2 o …� ID el valor es un identificador único� IDREF el valor es el identificador de otro elemento� IDREFS el valor es una lista de identificadores� …
� valor por defecto� value el valor por defecto del atributo es value� #REQUIRED valor obligatorio� #IMPLIED valor optativo� #FIXED el valor del atributo es fijo
-
XML Laboratorio de Programacion 18
DTDs - atributos
� Especificando el valor por defecto de un atributo ejemplo:
� ejemplo XML:
� #IMPLIED� ejemplo: � ejemplo XML:
� #REQUIRED� ejemplo: � ejemplo XML:
Mal
-
XML Laboratorio de Programacion 19
DTDs - atributos
� #FIXED� ejemplo:
� ejemplo XML:
� lista de valores posibles� ejemplo:
� ejemplo XML:
Mal
-
Entidades
-
XML Laboratorio de Programacion 21
Entidades
� Son abreviaturas que representan un valor (su contenido).
� Pueden ser:� Internas: su valor está indicado en el mismo DTD en el que se declaran.
� Externas: su valor está en documentos externos al DTD en el que se declaran.
� Generales: se emplean en DTDs y en documentos XML
� Parámetro: sólo se emplean en DTDs
� Las entidades generales internas son las más simples. Una entidad de este tipo es siempre una entidad analizada por el procesador XML.
-
XML Laboratorio de Programacion 22
Entidades generales
� Asignan nombres a ciertos elementos (similar a variables)
� Se denotan por &entidad
� No se admite recursividad
� Entidades numéricas: Código numérico del carácter
� Entidades predefinidas: Permiten incluir etiquetas sin analizar
-
XML Laboratorio de Programacion 23
Entidad interna
� Ejemplo de declaración de entidad general interna:� Se declaran en el mismo DTD
]>
&xml;
-
XML Laboratorio de Programacion 24
Entidades externas
� Permiten usar archivos externos (Incluir otros documentos XML)
� También se pueden incluir archivos externos de formatos binarios
-
XML Laboratorio de Programacion 25
Entidades parámetro
� Permiten dar nombres a partes de un DTD
� Se denotan por %entidad;
� Entidades externas: Permiten incluir elementos externos en una DTD
� Aplicación: Dividir la definición de una DTD en varios documentos
-
Espacio de nombres
-
XML Laboratorio de Programacion 27
Espacio de nombres
� Tengo una lista de clientes y otras de empleados y quiero guardar en un documento XML los clientes y el empleado que los atiende.
� ¿Cómo distinguir del cliente de del empleado?
Juan
Luis
...
Juana
Luisa
...
Juan
Juana
...
ERROR!
-
XML Laboratorio de Programacion 28
Solución
� Solución: Asociar un alias a los elementos de un espacio de nombres dentro de un ámbito.
� xmlns:alias define alias en el ámbito de un elemento.
Juan
...
Juana
...
Son 2 etiquetas distintas
Definimos un namespace. Debe ser
única y se suele utilizar una URL
NOTA: Las URIs sólo se utilizan para que el nombre sea único, no son enlaces, ni tienen que contener información
-
XML Laboratorio de Programacion 29
Espacio de nombres: conceptos
� Un documento XML puede hacer uso de espacios de nombres.
� Un namespace es un ámbito de definición de etiquetas.
� Surgió del problema de no poder usar elementos con el mismo nombre en dos o mas contextos diferentes.
� Para cada etiqueta hemos de indicar, además su namespace.� xmlns:prefijo:”nombre o url”
� Las direcciones URL deben ser únicas.
� Se especifican en el prologo en el caso de usar varios espacios de nombres.
�
…
� Los namespaces deben declararse antes de utilizarse.
-
XML Laboratorio de Programacion 30
Espacio de nombres: conceptos
� Cada espacio de nombres está asociado a una URI, que debe ser única
� Se aconseja usar URLs
� No tienen porque tener una existencia real (y de hecho, no suelen tenerla).
� Espacio de nombres por defecto
� Mediante xmlns=“...” se define un espacio de nombres por defecto (sin alias)
Juan
...
Juana
...
-
Esquemas XML
-
XML Laboratorio de Programacion 32
Limitaciones DTD
� No utilizan un modelo de contenido abierto, no tolerando elementos no definidos.
� Tipos de datos limitados – los DTDs proveen tipos de datos muy limitados:
� Los DTDs no usan sintaxis XML
� Es difícil definir rangos o conjuntos
(lunes | martes | miércoles | jueves |
viernes | sábado | domingo)
#IMPLIED
>
-
XML Laboratorio de Programacion 33
Limitaciones DTD
� Sin Subclases� DTD no permiten describir las estructuras de datos comunes en una definición de clase y capturar todas las variaciones en subclases.
� El orden de los hijos es demasiado rígido – los DTD requieren:� Listar todos los elementos hijos en el orden en que deben ocurrir
�
� Sin soporte de espacio de nombres � Para controlar la validez, debemos mantener los prefijos del documento XML en sincronización con el DTD
� Limitadas formas de expresar repeticiones� El elemento B debe ocurrir exactamente 15 veces:
�
-
XML Laboratorio de Programacion 34
Ventajas sobre los DTDs
� Son documentos XML� se pueden procesar como cualquier otro documento XML
� Soportan tipos de datos� se pueden definir elementos enteros, de punto flotante, fechas, strings, etc.
� Son extensibles� se pueden crear nuevos tipos de datos.
� Mecanismos de Orientación a Objetos� Permiten extender o restringir un tipo previamente definido
� Tiene más poder de expresión� se puede especificar, por ejemplo, que cierto valor no tenga más de 2 caracteres.
-
XML Laboratorio de Programacion 35
XML versus DTD
� Documento XML
� Document Type Definition (DTD)
14
September
2003
Sunday
-
XML Laboratorio de Programacion 36
Conceptos
� XML Schema� Es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa.
� Desarrollado por W3C (World Wide Web Consorcium)
-
XML Laboratorio de Programacion 37
Ejemplo: XML Schema
-
XML Laboratorio de Programacion 38
XML Referenciando a Schema
14
September
2003
Sunday
ubicación del
Documento esquema ->
Espacio de nombres ->
declaración de
instancias de
documentos XML
-
XML Laboratorio de Programacion 39
DTD y Esquema XML
� Ejemplo DTD cliente
-
XML Laboratorio de Programacion 40
Ejemplo Esquema XML
-
XML Laboratorio de Programacion 41
Otro ejemplo
� Ejemplo mas breve:
Namespace del Schema.
Este es el namespace recomendado en
la especificación.
Declaración de un elemento.
Compuesto por una secuencia de
otros elementos.
Con un atributo. Sólo los elementos
complejos tienen atributos.
-
XML Laboratorio de Programacion 42
…ejemplo
Elementos simples que
sólo pueden contener
texto.
-
XML Laboratorio de Programacion 43
XML Schema & XML
Juan
Perez
Acuña
-
XML Laboratorio de Programacion 44
Schema XML: características
� Son documentos XML.
� Soportan tipos de datos.
� Soportan namespaces.
� Permiten definir nuevos tipos de datos y restricciones sobre los valores de un elemento.
� Ofrecen mayor precisión que los DTDs.
-
XML Laboratorio de Programacion 45
Estructura del Documento Schema
-
XML Laboratorio de Programacion 46
Algunos tipos de datos primitivos
-
XML Laboratorio de Programacion 47
Declaración de Atributos
Por defecto los atributos son
opcionales. Indicar que son
obligatorios: use="required"
Valor por defecto de un
atributo. Podría definirse otro
valor.
Valor fijo de un atributo. Si
no se define, se utiliza
ése. Si se define, debe
coincidir.
-
XML Laboratorio de Programacion 48
Tipos Complejos vsSimples
� Pueden declararse 2 tipos:� Complejos: Pueden contener sub-elementos y atributos.
� Simples: No contienen sub-elementos ni atributos
� Pueden aparecer dentro de elementos o en valores de atributos
Jose
Bueno
complejos
simples
-
XML Laboratorio de Programacion 49
Indicadores
� Indicadores de orden.� All
� Choice: representa alternativas
� Sequence
Renault R23
-
XML Laboratorio de Programacion 50
Indicadores
� Indicadores de cantidad.
� maxOccurs
� minOccurs
� Ilimitada: maxOccurs="unbounded“
-
XML Laboratorio de Programacion 51
Tipos propios
...
Juan
Perez
Luis
Gomez
...
-
XML Laboratorio de Programacion 52
Tipos Anónimos vs.con nombre
…
…
+ legible
+ reutilizable
-
XML Laboratorio de Programacion 53
Enumeraciones y restricciones
� Restricción
� Enumeración
-
XML Laboratorio de Programacion 54
Restricciones: más ejemplos
Tres Letras
Un código postal de 5 dígitos
-
XML Laboratorio de Programacion 55
Restricciones: más ejemplos
Una cadena entre 5 y 8
Caracteres.
-
XML Laboratorio de Programacion 56
Tipos Derivados porExtensión
� Similar a las subclases de POO: Añadir elementos a un tipo base
...similar pero incluyendo el radio
Rectangulo contiene el elemento color, base y altura
-
XML Laboratorio de Programacion 57
Consultas…
-
XML Laboratorio de Programacion 58
Ejercicio práctico
� Construir un esquema XML de acuerdo al DTD y XML provistos. Realizar los siguientes pasos:� Crear el documento XML (ver XML adjunto)
� Crear el DTD (ver DTD adjunto)
� Validar DTD con el documento XML
� Crear el Esquema XML
-
XML Laboratorio de Programacion 59
Ejercicio práctico…
� DTD Libro:
-
XML Laboratorio de Programacion 60
Ejercicio práctico…
� y probarlo con este documento XML:
Java y XML
Introducción
Qué es
Cómo se usa
Creando XML
Un documento XML
La cabecera
El contenido
-
XML Laboratorio de Programacion 61
Ejercicio práctico…
Analizando XML
Preparación
SAX
Manejadores
Una forma mejor de cargar el analizador
JDOM
Introducción
DOM&JDOM
2000
-
XML Laboratorio de Programacion 62
Próxima clase
� Repaso
� DOM
� Hojas de estilo XLS
� Ejemplos y ejercitación
top related