XmlValidator
in package
Clase para la validación de XML y manejo de errores.
Table of Contents
Properties
- $defaultLibxmlTranslations : array<string|int, mixed>
- Traducciones, y transformaciones, por defecto de los errores de libxml.
Methods
- validateSchema() : void
- Realiza la validación de esquema de un documento XML.
- getSchemaPath() : string
- Busca la ruta del esquema XML para validar el documento XML.
- translateLibxmlErrors() : array<string|int, mixed>
- Traduce los errores de libxml a mensajes más sencillos para humanos.
Properties
$defaultLibxmlTranslations
Traducciones, y transformaciones, por defecto de los errores de libxml.
private
static array<string|int, mixed>
$defaultLibxmlTranslations
= ['\': ' => '\' (línea %(line)s): ', ': [facet \'pattern\'] The value' => ': tiene el valor', ': This element is not expected. Expected is one of' => ': no era el esperado, el campo esperado era alguno de los siguientes', ': This element is not expected. Expected is' => ': no era el esperado, el campo esperado era', 'is not accepted by the pattern' => 'el que no es válido según la expresión regular (patrón)', 'is not a valid value of the local atomic type' => 'no es un valor válido para el tipo de dato del campo', 'is not a valid value of the atomic type' => 'no es un valor válido, se requiere un valor de tipo', ': [facet \'maxLength\'] The value has a length of ' => ': el valor del campo tiene un largo de ', '; this exceeds the allowed maximum length of ' => ' caracteres excediendo el largo máximo permitido de ', ': [facet \'enumeration\'] The value ' => ': el valor ', 'is not an element of the set' => 'no es válido, debe ser alguno de los valores siguientes', '[facet \'minLength\'] The value has a length of' => 'el valor del campo tiene un largo de ', '; this underruns the allowed minimum length of' => ' y el largo mínimo requerido es', 'Missing child element(s). Expected is' => 'debe tener en su interior, nivel inferior, el campo', 'Character content other than whitespace is not allowed because the content type is \'element-only\'' => 'el valor del campo es inválido', 'Element' => 'Campo', ' ( ' => ' \'', ' ).' => '\'.', 'No matching global declaration available for the validation root' => 'El nodo raíz del XML no coincide con lo esperado en la definición del esquema']
El objetivo es simplificar los mensajes "técnicos" de libxml y dejarlos más sencillos para que un humano "no técnico" los pueda entender más fácilmente.
Methods
validateSchema()
Realiza la validación de esquema de un documento XML.
public
static validateSchema(XmlDocument $xmlDocument[, string|null $schemaPath = null ][, array<string|int, mixed> $translations = [] ]) : void
Parameters
- $xmlDocument : XmlDocument
-
Documento XML que se desea validar.
- $schemaPath : string|null = null
-
Ruta hacia el archivo XSD del esquema XML contra el que se validará. Si no se indica, se obtiene desde el documento XML si está definido en "xsi:schemaLocation".
- $translations : array<string|int, mixed> = []
-
Traducciones adicionales para aplicar.
Tags
getSchemaPath()
Busca la ruta del esquema XML para validar el documento XML.
private
static getSchemaPath(XmlDocument $xmlDocument) : string
Parameters
- $xmlDocument : XmlDocument
-
Documento XML para el cual se busca su esquema XML.
Tags
Return values
string —Ruta hacia el archivo XSD con el esquema del XML.
translateLibxmlErrors()
Traduce los errores de libxml a mensajes más sencillos para humanos.
private
static translateLibxmlErrors(array<string|int, mixed> $errors[, array<string|int, mixed> $translations = [] ]) : array<string|int, mixed>
Parameters
- $errors : array<string|int, mixed>
-
Arreglo con los errores originales de libxml.
- $translations : array<string|int, mixed> = []
-
Traducciones adicionales para aplicar.
Return values
array<string|int, mixed> —Arreglo con los errores traducidos.