Especificación XML 1.0

eXtensible Markup Language

 

Procesadores de validación y de no-validación

 

Todos los procesadores XML deben registrar las violaciones de los requerimientos (recogidos en la especificación) que tengan lugar en el contenido de la entidad documento y cualquier otra entidad con formato que lean.

Los procesadores de validación deben registrar las violaciones de requerimientos que tengan lugar en el DTD. Para conseguirlo, los procesadores de validación deben leer y procesar el DTD entero, y todas las entidades externas con formato referenciadas en el documento.

 

Los procesadores de no-validación sólo necesitan chequear la entidad documento, incluyendo el subconjunto interno del DTD. Deben procesar todas las declaraciones existentes en el subconjunto interno del DTD y en cualquier entidad-parámetro para normalizar los valores de los atributos, incluyendo el texto de sustitución de entidades internas, y proporcionar los valores por defecto de los atributos.

 

No tienen que procesar declaraciones de entidad o de lista de atributos que aparezcan después de la referencia a una entidad-parámetro que no ha sido leída, puesto que dicha entidad puede contener declaraciones que anulen a otras declaraciones (overriding declarations).

 

 


Utilización de procesadores XML

 

Los procesadores de validación necesitan leer cada trozo de un documento e informar sobre las violaciones de validez o sobre elementos que no están bien formados. Un procesador de no-validación sólo necesita leer la entidad documento.

Los usuarios de procesadores XML deben tener en cuenta que:

 

Algunos errores (elementos mal formados), sobre todo aquellos para los que es necesario leer entidades externas, puede que no sean detectados por un procesador de no-validación.

La información que es pasada desde el procesador a la aplicación puede variar, dependiendo de si el procesador lee entidades externas y entidades-parámetro. Por ejemplo, un procesador de no-validación puede dejar sin normalizar algunos valores de atributos, dejar de incluir texto de sustitución de entidades internas o dejar de proporcionar valores por defecto si esos datos dependen de declaraciones en entidades externas.