Tema 7 Flashcards
Problemas de los DTD:
• Difíciles de manipular (no son XML)
• No son extensibles (una vez definido, no es posible añadir nuevos vocabularios a un
DTD).
• No soportan tipos de datos (ej. enteros, flotantes, etc.)
¿Qué permite XML Schema?
Permite definir esquemas de documentos
Ventajas de XML Schema sobre DTD
- La sintaxis utilizada es XML (la sintaxis de los DTD no era XML!)
- Soporta la especificación de tipos de datos y tipos definidos por el usuario
- Soporta comprobación de restricciones numéricas
Otras formas de validar XML:
RELAX-NG, Schematron
¿Qué etiquetas permiten incluir otros vocabularios?
, ,
XML Schemas permiten:
• Describir estructura: – Anidación. – Multiplicidad. – Ordenamiento. • Describir tipos: – Para velocidad operatoria. – Para mejor almacenamiento. – Para búsquedas. – Para ingreso de datos. – Para detectar errores.
¿Cómo se almacenan los XML Schemas?
Se almacenan en archivos .xsd
De DTD a Schema - Reglas
* -> minOccurrs=0 maxOcurrs=unbounded \+ -> minOccurrs=1 maxOcurrs=unbounded ? -> minOccurrs=0 maxOcurrs=1 , -> xs:sequence | -> xs:choice X -> xs:element
El espacio de nombres del XML Schema es usualmente:
XS:
Los valores más comunes de tipos de datos (tipo) son:
xs: boolean
xs: integer
xs: date
xs: string
xs: decimal
xs: time
Ejemplo de un elemento simple:
¿Qué atributos puede incluir un elemento?
- default=”default value”
- fixed=”value“
- use=”optional”
- use=”required”
Los tipos simples contienen texto y se definen mediante:
xs:simpleType
Los tipos complejos se definen mediante:
xs:complexType
¿Qué pueden contener los tipos complejos?
Pueden contener cualquier combinación de contenido de elementos , información de caracteres y atributos
Los tipos simples pueden ser:
• Predefinidos o built-in (definidos en la especificación).
– Primitivos (string, boolean, number, float, double, etc)
– Derivados (normalizedString, token, Language, IDREFS, ENTITIES, NMTOKEN, NMTOKENS)
• Definidos por el usuario (a partir de tipos predefinidos).
Facetas de Tipos
► Facetas fundamentales
► Facetas de restricción
Facetas fundamentales:
- equal: Igualdad entre valores de un tipo de datos.
- ordered: Relaciones de orden entre valores.
- bounded: Límites inferiores y superiores para valores.
- cardinality: Define si es finito o infinito (numerable, no numerable).
- numeric: Define si es numérico o no.
Facetas de restricción
- length, minlength, maxlength: Longitud del tipo de datos.
- pattern: Restricciones sobre valores mediante expresiones regulares.
- enumeration: Restringe a una determinada enumeración de valores.
- whitespace: Define política de tratamiento de espacios (preserve/replace, collapse).
- (max/min)(in/ex)clusive: Límites superiores/inferiores del tipo de datos.
- totaldigits, fractionDigits: número de dígitos totales y decimales
Tipos de restricciones:
► Sobre valores.
► Sobre un conjunto de valores.
► Sobre series de valores.
► Sobre espacios en blanco.
¿Una ventajas de los Schemas frente a los DTDs?
Tienen sintaxis XML
Tecnologías similares a los Schemas:
- Schematron
- RELAX-NG
- DTD
Un tipo simple en XML Schema se define somo:
xs:simpleType
La definición de un tipo primitivo cadena en XML Schema se hace:
string
Las restricciones en XML Schema permite:
Restringir el valor que se le puede dar a un elemento o atributo XML.
Una de las características de los tipos abstractos en XML Schema es:
Ese tipo no puede usarse directamente.
¿Cómo se llama/inluye al archivo XSD dentro del XML?
xmlns: xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi: noNamespaceSchemaLocation=”ARCHIVO.xsd”