LibreDTE

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
throws
XmlException

Si el XML no es válido según su esquema.

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
throws
XmlException

Si el esquema del XML no se encuentra.

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.


        
On this page

Search results