Apuntes XML Schema
Apuntes XML Schema
Apuntes XML Schema
Índice
• Introducción
• Lenguajes de validación
• DTD
• XML Schema
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 3
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 4
Introducción (I)
• Los DTD, en realidad, son una reminiscencia del
lenguaje SGML que permite un mecanismo de
validación para XML al ser éste un subconjunto
de SGML.
• Por ello, se planteó en torno a 1999 una sintaxis
que permitiera más capacidades de validación y
que fuera más coherente con el lenguaje XML.
• Hoy en día es la arquitectura predominante
para la validación, ya que se usa en XQuery y
sobre todo en los servicios Web.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 5
Introducción (II)
• Ventajas de los esquemas:
▫ La sintaxis es XML, por lo que son analizables
como cualquier otro documento XML.
▫ Soportan íntegramente los espacios de nombres.
Los DTDs no tenían soporte explicito para espacios
de nombres por ser anterior a la invención de los
espacios de nombres en los XML.
▫ Permiten validaciones de datos avanzadas.
▫ Proporcionan una mayor facilidad para crear
validaciones complejas y reutilizables.
▫ Soportan conceptos avanzados como herencia y
sustitución de tipos.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 6
Introducción (III)
• Algunas desventajas:
▫ Son más complejas de entender que las DTD
▫ Presentan más incompatibilidades con software
que las DTD
▫ No permiten definir entidades
▫ Tecnologías como SAX o DOM tienen utilidades
especiales para las DTD, pero no para los XML
Schemas.
Son APIs (Interfaz de Programación de Aplicaciones)
que permiten la comunicación entre sistemas XML y
otros sistemas.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 7
Índice
• XML Schema
▫ Introducción
▫ Estructura
Etiqueta schema
Asociar un esquema a un documento XML
Partes de un esquema
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 8
Índice
• XML Schema
▫ Introducción
▫ Estructura
Etiqueta schema
Asociar un esquema a un documento XML
Partes de un esquema
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 16
Índice
• XML Schema
▫ Introducción
▫ Estructura
Etiqueta schema
Asociar un esquema a un documento XML
Partes de un esquema
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 26
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 29
Elementos (I)
• En XML Schema la definición de un elemento
XML se realiza mediante la etiqueta element.
• La sintaxis completa es:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 30
Elementos (II)
• No siempre se definen todos los atributos
posibles.
▫ Al menos hay que indicar el nombre, el tipo de
datos también es necesario indicarle casi siempre
y el resto de atributos sólo si se necesitan.
• Una definición tipo podría ser:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 31
Elementos (III)
• name: es el nombre del elemento
• type: el tipo de elemento. XML Schema define
dos tipos de elementos:
▫ Tipos simples: son elementos que sólo pueden
contener datos carácter; no pueden incluir otros
elementos ni tampoco atributos.
▫ Tipos complejos: estos elementos pueden incluir
otros elementos y/o atributos.
(Veremos en otro apartado los tipos de datos en
más detalle)
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 32
Elementos (IV)
• minOccurs y maxOccurs (Opcionales) : estos dos
atributos indican el mínimo (minOccurs) y máximo
(maxOccurs) número de ocurrencias del elemento.
▫ El valor por defecto para ambos atributos es 1. Si se
quiere indicar que el elemento puede aparecer un
número ilimitado de veces, el atributo maxOccurs
tomará el valor “unbounded”.
• fixed (Opcional): especifica un valor fijo para el
elemento.
▫ el elemento puede estar vacío, pero si no lo está, su
contenido debe coincidir con el especificado en el
atributo “fixed”
• default (Opcional): especifica un valor por defecto
para el elemento.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 33
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 34
Simples (I)
• Los elementos simples solamente pueden
contener texto (caracteres).
▫ Los elementos simples no pueden contener a otro u
otros elementos (hijos),
▫ ni tampoco pueden tener atributos.
• El texto contenido en un elemento simple, puede
ser de diferentes tipos de datos predefinidos en el
estándar W3C XML Schema.
▫ Los tipos de datos predefinidos pueden ser primitivos
(string, boolean, decimal...) o derivados de estos
(integer, ID, IDREF...).
▫ También es posible definir nuevos tipos de datos
simples.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 35
Simples (II)
• Ejemplos de definición de elementos de tipo
simple:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 36
Simples (III)
• Existen 19 tipos de datos simples predefinidos
primitivos, que se pueden agrupar en 4
categorías:
1. Tipos cadena
▫ string: secuencia de longitud finita de caracteres
[*]
▫ anyURI: una uri estándar de Internet
▫ NOTATION: declara enlaces a contenido externo
no-XML
▫ Qname: una cadena legal Qname (nombre con
cualificador)
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 37
Simples (IV)
2. Tipos binario codificado
▫ boolean: toma los valores “true” o “false” [*]
▫ hexBinary: dato binario codificado como una serie
de pares de dígitos hexadecimales
▫ base64Binary: datos binarios codificados en base 64
3. Tipos numéricos
▫ decimal: número decimal de precisión (dígitos
significativos) arbitraria [*]
▫ float: número de punto flotante de 32 bits de
precisión simple [*]
▫ double: número de punto flotante de 64 bits de
doble precisión [*]
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 38
Simples (V)
4. Tipos de fecha/hora
▫ duration: duración de tiempo
▫ dateTime: instante de tiempo específico, usando
calendario gregoriano, en formato "YYYYMM-
DDThh:mm:ss"
▫ date: fecha específica del calendario gregoriano, en
formato "YYYY-MM-DD” [*]
▫ time: una instancia de tiempo que ocurre cada día,
en formato "hh:mm:ss"
▫ gYearMonth: un año y mes del calendario gregoriano
▫ gYear/gMonth/gDay: año/mes/fecha del calendario
gregoriano
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 39
Simples (VI)
• De cada uno de estos tipos primitivos se pueden
obtener tipos derivados, como se muestra en la
siguiente imagen.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 40
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 41
Complejos (I)
• Estos elementos pueden incluir otros elementos
y/o atributos.
▫ Ya no solo contienen una única información en el
interior como los de tipo simple.
• Los tipos compuestos permiten definir
contenidos más complejos.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 42
Complejos (II)
• Puesto que lo normal es que los elementos de
un documento XML puedan contener otros
elementos y por supuesto atributos, es lógico
que la mayoría de elementos indiquen
mediante tipos compuestos su contenido.
▫ Los datos simples son apropiados para indicar el
tipo de contenido de los atributos o bien para
indicar el contenido de los elementos simples (lo
que en DTD serían elementos solo con contenido
#PCDATA).
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 43
Complejos (III)
• Los tipos compuestos se definen con la etiqueta
complexType. En esa etiqueta podemos utilizar
diferentes modelos de definición de contenidos.
• Ejemplo:
Complejos (IV)
• Aparte del modelo de contenido texto que
aparece en los elementos simples, en los
elementos complejos nos podemos encontrar 3
modelos más de contenido:
▫ Vacío
▫ Elementos
▫ Mixto
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 45
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 46
Vacío (I)
• Para indicar que un elemento es vacío basta
con no indicar valores e indicar el nombre del
elemento sin indicar tipo de datos alguno.
• No puede contener datos carácter ni otros sub-
elementos, pero sí puede incluir atributos.
▫ Si no contienen atributos pueden declararse
como tipos simples.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 47
Vacío (II)
• Ejemplo
Vacío (III)
• Ejemplo
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Secuencias
▫ Elecciones
▫ Etiqueta all (contenidos libres)
▫ Mezcla de elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 50
Elementos
• Como se ha comentado antes, los contenidos
compuestos se refieren a los elementos que
contienen otros elementos (pero nunca texto
libre).
• Hay tres posibles tipos de elementos a
contener:
▫ secuencias,
▫ elecciones y
▫ contenidos libres (all).
• Además se pueden incorporar atributos y/o
mezclar los subtipos entre sí.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 51
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Secuencias
▫ Elecciones
▫ Etiqueta all (contenidos libres)
▫ Mezcla de elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 52
Secuencias (I)
• Dentro de un elemento es habitual indicar su
contenido como una secuencia de elementos.
• Esto se permite con la etiqueta sequence,
dentro de la cual se añaden etiquetas element
para indicar los elementos que entran en la
secuencia.
• Deben aparecer todos, y en el mismo orden en
que se especifican.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 53
Secuencias (II)
• Ejemplo1:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 54
Secuencias (III)
• La etiqueta sequence posee los atributos
minOccurs y maxOccurs para indicar que el
bloque de la secuencia se puede repetir.
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Secuencias
▫ Elecciones
▫ Etiqueta all (contenidos libres)
▫ Mezcla de elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 56
Elecciones (I)
• Sirven para permitir elegir uno de entre varios
elementos. Se especifica una lista de
elementos de los cuales sólo puede aparecer
uno en el documento XML.
• Su funcionamiento es el mismo que en las
secuencias, pero en este caso se utiliza una
etiqueta llamada choice.
• La etiqueta choice también posee los atributos
minOccurs y maxOccurs.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 57
Elecciones (II)
• Ejemplo 1:
Elecciones (III)
• Ejemplo 2:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 59
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Secuencias
▫ Elecciones
▫ Etiqueta all (contenidos libres)
▫ Mezcla de elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 60
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Secuencias
▫ Elecciones
▫ Etiqueta all (contenidos libres)
▫ Mezcla de elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 64
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Tipos de datos
▫ Simples
▫ Complejos
▫ Vacío
▫ Elementos
▫ Mixto
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 67
Mixto (I)
• Es el caso más complejo.
• Se trata de elementos que contienen otros
elementos y además texto (e incluso atributos).
• Para permitir esta posibilidad hay que marcar el
atributo mixed de la etiqueta complexType a
true.
• El elemento puede contener tanto datos
carácter como elementos hijo. Los elementos
hijo se definen igual que en el modelo anterior,
mediante los elementos sequence, choice o all.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 68
Mixto (II)
• Ejemplo 1:
Mixto (III)
• Ejemplo 2:
▫ XML
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 70
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 71
Atributos (I)
• La definición de atributos en XML Schema es
similar a la definición de elementos.
• Su sintaxis de definición es:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 72
Atributos (II)
▫ Dentro de la definición de un atributo:
type solo puede hacer referencia a tipos simples.
form solo puede tomar los valores: qualified o
unqualified.
default; si el atributo no aparece en el documento XML,
se le asigna el valor especificado en el atributo
“default”. Los valores por defecto sólo tienen sentido si
el atributo es opcional, de lo contrario tendremos un
error.
use puede ser: prohibited, optional o required.
hace referencia a si al atributo no se le puede asignar
ningún valor en el documento XML (valor prohibited), si su
uso es opcional (valor optional) o si es obligatorio darle
valor.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 73
Atributos (III)
• Los atributos sólo pueden asignarse a los
elementos mediante tipos complejos de datos.
▫ Los elementos simples, definidos como tal, no
podrán tener atributos.
• Las declaraciones de atributos para un
elemento deben aparecer siempre al final del
bloque delimitado por la etiqueta de inicio
<complexType> y la de fin </complexType>,
▫ después de las especificaciones de todos los
demás componentes.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 74
Atributos (IV)
• Ejemplo:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 75
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 76
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 86
Listas (I)
• Las listas permiten que un componente tenga
como contenido una determinada lista de
valores, separados mediante espacios.
• La construcción de listas indica dos pasos:
1. Crear un tipo simple de datos cuyo contenido
es una etiqueta list, la cual posee el atributo
itemType para indicar el tipo de elementos de
la lista.
Simplemente con ello se podría establecer una
lista (valores separados por espacios) de valores
pertenecientes al tipo indicado.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 87
Listas (II)
2. Crear el tipo ya definitivo de datos que
contendrá una etiqueta restriction a la cual
como tipo base se indica el tipo simple de datos
relacionado con la lista.
▫ En la restricción se pueden indicar estas
etiquetas usando el atributo value:
length. Indica que la lista tendrá un número exacto de valores.
minLength. Indica que la lista tendrá un número mínimo de
valores
maxLength. Indica que la lista tendrá un número máximo de
valores
enumeration. Posibles valores que puede tener la lista
whiteSpace. Gestión de los espacios en blanco en cada elemento
de la lista.
pattern. Expresión regular que debe cumplir cada elemento de la
lista.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 88
Listas (III)
• Ejemplo 1:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 89
Listas (IV)
▫ En el ejemplo, primero se define un tipo de lista
(listaDecimales) simplemente indicando que será
una lista cuyos valores serán números decimales.
▫ Después se concreta la lista (listaNotas), de
modo que ahora se indica que la lista constará de
tres a seis números (en el XML cada número irá
separado por espacios)
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 90
Listas (V)
• Ejemplo 2:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 91
Listas (VI)
• Se define el tipo “tiendas” como una restricción del
tipo “listaTiendas” donde “legnth” no puede ser mayor
que 3. Es decir, en “tiendas” puede haber hasta 3
valores de la lista.
• El tipo “listaTiendas” se define como una lista donde
cada elemento de la lista es del tipo “posiblesTiendas”.
• Y este último se define como un “enumeration”.
▫ Podríamos, por ejemplo, a continuación definir elemento
llamado “vendedores” de la siguiente manera:
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 93
Extensiones (I)
• Sirve para extender un elemento, ya sea de
tipo simpleType o complexType.
• La etiqueta que se utiliza para definir la
extensión es xs:extensión.
• Permite añadir elementos o atributos a otros
elementos ya definidos.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 94
Extensiones (II)
• Ejemplo 1:
Extensiones (III)
• Ejemplo 2:
Extensiones (IV)
• Ejemplo 3:
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 97
Extensiones (V)
▫ Obsérvese que, infoPersonaAmpliada se basa en
infoPersona, añadiéndole dos elementos: "ciudad"
y "país".
▫ En cuanto a xs:complexContent, sirve para
definir restricciones o extensiones a un tipo
complejo (complexType).
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 98
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
Elementos
Atributos
Restricciones (facetas)
Listas
Extensiones
Elementos y atributos globales
▫ Métodos de diseño
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 99
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Diseño anidado o de muñecas rusas
Diseño Plano o de uso de referencias a elementos y
atributos
Diseño con tipos con nombre.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 105
Métodos de diseño
• Hay varias maneras de abordar el diseño de un
XML Schema. Usaremos una u otra, o
una combinación de varias, dependiendo de
factores tales como la complejidad, extensión y
el tipo de documentos que estamos definiendo.
▫ Por ejemplo, sin son documentos donde
predomina una colección de datos estructurados,
o son documentos con mucho texto libre.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 106
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Diseño anidado o de muñecas rusas
Diseño Plano o de uso de referencias a elementos y
atributos
Diseño con tipos con nombre.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 107
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Diseño anidado o de muñecas rusas
Diseño Plano o de uso de referencias a elementos y
atributos
Diseño con tipos con nombre.
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 111
Índice
• XML Schema
▫ Introducción
▫ Estructura
▫ Definición de componentes XML Schema
▫ Métodos de diseño
Diseño anidado o de muñecas rusas
Diseño Plano o de uso de referencias a elementos y
atributos
Diseño con tipos con nombre
Lenguajes de Marcas y Sistemas de Gestión de Información | Tema 6.2. XML. Validación de documentos. Parte 2. XML Schema 116