Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. La importancia de la validación
2. Documento Válido
3. Bien formado VS Válido
4. Validación de documentos con DTD
1. Elementos
2. Atributos
3. Entidades
4. Notaciones
5. Ejemplo completo
6. Conclusiones
2
1. La importancia de la validación (I)
● Hasta ahora, hemos aprendido cómo crear documentos XML bien formados, es decir,
documentos que respetan las normas establecidas por la W3C en la especificación
del estándar.
3
1. La importancia de la validación (II)
● Ya que estando el documento bien formado, presenta evidentes errores de
sentido común, como que una factura debe pertenecer a un único cliente y que
una fecha debe especificarse en algún tipo de formato del tipo día/mes/año.
4
1. La importancia de la validación (III)
● Por ello, hay que ir más allá de lo bien formado y validar la estructura usada,
respecto a unas reglas, con el objeto de tener asegurada tanto su integridad como su
formato.
5
2. Documento válido (I)
● Son aquellos documentos que además de estar bien formados, cumplen las
especificaciones de la DTD (Document Type Definition), del Schema, o del elemento
que lo valide, y siguen las pautas marcadas por sus modelos de contenido.
6
2. Documento válido (II)
● Para que un documento XML además de bien formado también sea válido, durante el
proceso de validación se comprueba:
○ Qué elementos o atributos se permiten en un documento del tipo definido en el
esquema.
○ La estructura de los elementos y atributos (elementos anidados, atributos
obligatorios u opcionales, etc.)
○ El orden de los elementos.
○ Los valores de los datos de atributos y elementos (según enumeraciones, rangos
de valores delimitados, tipo de dato correcto (ej. formato correcto de una fecha,
utilizar un entero para expresar un número), etc.
○ La unicidad de valores dentro de un documento (ej. Referencias de productos
que no pueden repetirse).
7
3. Bien formado VS Válido
○ Sin embargo, un documento válido debe estar bien formado y, además, debe
respetar las restricciones definidas por el esquema que se pretende respetar.
8
4. Validación de documentos con DTD (I)
● Especifica qué elementos deben aparecer, en qué orden, cuáles son opcionales,
cuáles son obligatorios, qué atributos tienen los elementos, etc.
● Al igual que sucedía en HTML con la hojas de estilos (CSS), podemos declarar un DTD
integrado en el propio documento (Interno) o en un archivo independiente con
extensión DTD (Externo)
9
4. Validación de documentos con DTD (II)
● Siempre que se quiera declarar un DTD se hará al comienzo del documento XML. Las
reglas que lo constituyen podrán aparecer a continuación de la declaración (en el caso
de un DTD interno) o en un archivo independiente.
10
4. Validación de documentos con DTD (III)
11
4. Validación de documentos con DTD (III)
12
4. Validación de documentos con DTD (IV)
13
4. Validación de documentos con DTD (IV)
14
4. Validación de documentos con DTD (V)
Donde -//W3C//DTD XHTML 1.0 Strict//EN es un FPI (Formal Public Identifier, Identificador
Público Formal).
15
4. Validación de documentos con DTD
16
4. Validación de documentos con DTD
17
4. Validación de documentos con DTD
18
4. Validación de documentos con DTD
20
4. Validación de documentos con DTD
Componentes de un DTD (VI):
A.Elementos
.
21
4. Validación de documentos con DTD
Componentes de un DTD (VII):
A.Elementos
.
También sería
correcto así ->
22
4. Validación de documentos con DTD
23
4. Validación de documentos con DTD
24
4. Validación de documentos con DTD
Componentes de un DTD:
B. Atributos
25
4. Validación de documentos con DTD
Componentes de un DTD:
B.Atributos
26
4. Validación de documentos con DTD
Componentes de un DTD:
B.Atributos
● TipoAtributo →
○ CDATA → caracteres textuales
○ ENTITY → nombre de una entidad (Que debe declararse en el DTD)
○ ENTITIES → una lista de nombres de entidades separadas por espacios
○ Enumerado → Una lista de valores, entre los cuales, el atributo debe tomar
uno. (v1|v2|...)
○ ID → Un identificador único (debe empezar por una letra)
○ IDREF → representa el valor de un atributo ID de otro elemento
○ IDREFS → hace referencia a uno o varios valores de atributos ID,
separados por espacios
27
4. Validación de documentos con DTD
Componentes de un DTD:
B. Atributos
● Atributo obligatorio
28
4. Validación de documentos con DTD
Componentes de un DTD:
B. Atributos
29
4. Validación de documentos con DTD
Componentes de un DTD:
B. Atributos
● Atributo de tipo ID
30
4. Validación de documentos con DTD
Componentes de un DTD:
B. Atributos
● El siguiente ejemplo muestra el DTD de un XML que describe una receta de cocina.
31
4. Validación de documentos con DTD
Componentes de un DTD:
B.Atributos
32
4. Validación de documentos con DTD
Componentes de un DTD:
B.Atributos
33
4. Validación de documentos con DTD
Componentes de un DTD:
C. Entidades
● Las entidades permiten definir constantes para los documentos XML.
● Existen dos tipos de entidades:
○ Entidades internas→ Permite declarar una variable cuyo alcance se limita al
documento XML
○ Entidades externas→ Permiten vincular el documento XML a otros documentos
(de cualquier tipo).
○ Insertamos &nombredelaentidad; en el documento XML para utilizar el valor de la
entidad llamado nombredelaentidad.
34
4. Validación de documentos con DTD
Componentes de un DTD:
C. Entidades
● XML define una serie de entidades por defecto:
ENTIDAD VALOR
< <
> >
& Carácter de espacio
' Carácter ‘ (apóstrofe)
" Carácter “” (comillas)
● Las entidades internas solamente se pueden utilizar en el documento en el que se han
declarado.
35
4. Validación de documentos con DTD
Componentes de un DTD:
C. Entidades
● Ejemplo de entidad interna
36
4. Validación de documentos con DTD
Componentes de un DTD:
C. Entidades
● Las entidades externas permiten vincular el documento XML actual a otro documento
al que se hace referencia a través de su URL.
● Este documento puede ser de tipo XML o de cualquier otro tipo.
37
4. Validación de documentos con DTD
Componentes de un DTD:
D. Notaciones
38
4. Validación de documentos con DTD
Componentes de un DTD:
D. Notaciones
39
4. Validación de documentos con DTD
Ejemplo completo.
40
4. Validación de documentos con DTD
Ejemplo completo.
41
4. Validación de documentos con DTD
Conclusiones
● Hemos estudiado una potente herramienta de validación de documentos XML, sin
embargo DTD cuenta con algunas limitaciones importantes:
○ Un DTD no está basado en XML, por lo que no podemos garantizar su validez.
○ No podemos fijar restricciones sobre los valores de los elementos y atributos
como su tipo de dato, longitud, etc.
○ No soporta espacios de nombres.
○ Solo se pueden crear enumerados en cuanto a valores de atributos pero no de
elementos.
○ Solo se pueden definir valores por defecto para atributos pero no para elementos.
○ Existe un control limitado sobre las cardinalidades de los elementos.
42
4. Validación de documentos con DTD
Validador
43