Está en la página 1de 34

T10.

-
Validación de
documentos.
DTD.
Documentos • Un documento XML es válido si se han definido unas reglas de validación
asociadas a él y, además, el documento las cumple.
XML válidos. • Especifican la estructura gramatical que debe tener un documento XML.
Documentos XML válidos. Función básica.

Descripción de la estructura de datos que debe contener y la descripción de


la información que contienen los documentos XML.

Todos los documentos que utilicen las mismas reglas de validación tendrán la
misma estructura y mantendrán la consistencia de la información que
contienen.
• La validación de un documento XML consiste
en comprobar si la información que contiene
cumple con las reglas específicas que se han
definido para ese conjunto de información
en particular.
D. bien formado
VS D. válido.
• DBF si su sintáxis es correcta
• DV si cumple con unas reglas
de validación específicas
asociadas a él.

• Un documento válido estará


bien formado pero no al
revés.
Tecnologías de
validación de
documentos XML.
• Existen varios métodos de validación de
documentos XML.
• DTD. Es el que estudiaremos en este
tema.
• Schema.
• RELAX NG
• Schematron
• Permite definir una gramática que deben
Validación de cumplir los documentos XML para que
puedan ser considerados como válidos.
doc. XML • Qué elementos y el tipo de contenido.
mediante • Qué atributos
• Qué elementos pueden aparecer dentro de
DTD otros elementos.
• En qué orden deben aparecer los elementos.
Validación DTD. Tipos de componentes.

DECLARACIÓN DECLARACIÓN DECLARACIÓN DECLARACIÓN DECLARACIÓN


DTD. DE ELEMENTOS. DE ATRIBUTOS. DE ENTIDADES. DE NOTACIONES.
Declaración DTD. <!DOCTYPE>

Para especificar la declaración DTD que debe aparecer en el prólogo

Sintaxis variada en función de las características de la validación que se vayan a


aplicar, según la ubicación y el tipo de uso de las reglas de validación.
• Ubicación: dónde se localizan las reglas DTD.
• Validación interna. En el propio documento.
• Validación externa. En archivo externo.
• Validación mixta. (internas prioritarias)
• Tipo de uso.
• Privado. SYSTEM.
• Público. PUBLIC FPI.
Combinaciones más comunes.

Sintaxis Características DTD


<!DOCTYPE elemento_raíz [reglas_de_validación]> Interna y uso privado
<!DOCTYPE elemento_raíz SYSTEM uri> Externa y uso privado
<!DOCTYPE elemento_raíz SYSTEM uri [reglas_de_validación]> Mixta y uso privado

<!DOCTYPE elemento_raíz PUBLIC FPI uri> Externa y uso público


<!DOCTYPE elemento_raíz PUBLIC FPI urI [reglas_de_validación]> Mixta y uso público
Ejemplo 1. DTD interna
Ejemplo 2. DTD externa.
Para especificar cada uno de los elementos que
forman parte del documento XML.

Declaración <!ELEMENT nombre_elemento


de modelo_contenido>

elementos. nombre_elemento: debe coincidir con el nombre


de la etiqueta correspondiente en el documento
<!ELEMENT> XML

modelo_contenido: es el modelo del contenido


que se utiliza para especificar diversos aspectos
de la declaración del elemento.
<! ELEMENT noticia (titulo,
fecha, descripcion?, fuente?)>

Ejemplo
declaración Etiqueta: noticia. Que contiene
titulo, fecha, descripción y
de fuente en ese orden.

elementos
descripción y fuente son
opciones como indica ?
<!ELEMENT
nombre EMPTY>
Elementos
vacíos <nombre />
No podrán contener a otros elementos.

Elementos
que solo #PCDATA. Toda información contenida
en un elemento será de tipo texto y

contienen representará valores alfanuméricos o


de cualquier otro tipo

información
<!ELEMENT apellidos (#PCDATA)>
Elementos que solo contienen
a otros elementos
• Deben aparecer entre paréntesis.
• El uso de diversas reglas permite diferenciar el tipo de
relación que puede tener un elemento con sus elementos
descendientes o hijos.
Cardinalidad
y secuencias
de los
elementos.
Declaración de atributos. <!ATTLIST>

• <!ATTLIST nombre_elemento nombre_atributo tipo_atributo valor_atributo>

• Se suele utilizar una declaración para declarar cada uno de los atributos de un elemento.
tipo_atributo
CDATA y (v1 | v2 | v3 | …) Son los más utilizados
• <!ELEMENT semáforo EMPTY>
• <!ATTLIST semáforo color (rojo | amarillo | verde) “verde”>

NMTOKEN y NMTOKENS
• <!ATTLIST coche color NMTOKEN> Sin espacios en blanco

tipo_atributo. • <!ATTLIST coche color NMTOKENS> Con espacios en blanco


• Ej. <coche color=“blanco negro gris”>

ID (valor que identifica a un elemento unívocamente)

IDREF, IDREFS
• <!ATTLIST coche matricula ID>
• <!ATTLIST multa matricula IDREF>
Valores de los atributos
Valores de • Cuando usamos un valor
específico el comportamiento del
los atributo es el siguiente:
• Si el atributo no está presente
atributos. en la declaración, mantiene
ese valor.
Valor • Si el atributo está presente,
asumirá el valor indicado.
específico
• Si incluimos este modificador
Valores de en la declaración del atributo,
forzaremos a que siempre que
aparezca el elemento sea
los atributos. necesario incluir el atributo.

#REQUIRED • <!ATTLIST coche matricula


#REQUIRED>
• Si incluimos este modificador en la
Valores declaración del atributo, indicaremos
que el atributo es opcional. Es la
situación opuesta al modificador
de los #REQUIRED.

atributos. • <!ATTLIST coche cilindrada #IMPLIED>


• el atributo cilindrada del elemento
#IMPLIED coche podrá aparecer o no en el
documento XML
• Si incluimos este modificador en la

Valores de declaración del atributo, estaremos


indicando que el atributo debe tener un
valor fijo qu es indicado a continuación
del modificador.

los atributos. • <!ATTLIST coche matricula #FIXED


“M2547MK”>

#FIXED. • el elemento coche tiene un atributo


matricula cuyo valor queda fijado en la
declaración a M2547MK.
Ejemplos.

http://sambayredes.pbworks.co
m/w/page/127487915/08_4%20
Definicion%20de%20esquemas
%20y%20vocabularios%20en%2
0xml
Declaración de entidades. ENTITY.

• Consiste en un nombre y sus valor (similar a una


constante en programación)
• Elemento usado para guardar información.

• <!ENTITY nombreEntidad “valorEntidad”>


• <!ENTITY wwwc "World Wide Web Corporation">
• ,,,
• <nombre>&wwwc;</nombre>

• También pueden definirse entidades externas que


permiten hacer referencia a un contenido externo
mediante una URI precedida de la palabra SYSTEM o
PUBLIC.
Declaración de notaciones. NOTATION

Permite utilizar un valor que ha sido


declarado como una notación en la
DTD.

Se utilizan para especificar el formato


de información que no es contenido
XML.

Se suelen utilizar para describir el tipo


de contenido, utilizando para ello el
tipo MIME correspondiente.
Herramientas XML Copy Editor.
de ayuda.
CookTop

Visual Studio

Validación online
• https://www.xmlvalidation.com/
• http://xmlvalidator.new-
studio.org/
DTD no es XML

Panorámica No se pueden definir restricciones sobre valores


actual de en cuanto a tipo de datos, tamaño, etc…

tecnologías No se pueden enumerar los valores de


elementos.

de validación. Control limitado de cardinalidades


Limitaciones.
No soporta namespaces.
Otras XML Schema
tecnologías
de
validación
RELAX NG
más
modernas. Schmatron
Consistencia de la
información.
Glosario
de Metalenguaje.
términos.
Parser XML.

También podría gustarte