MirrorMere®

Producto

No se detiene en decirle que algo está mal.

MirrorMere no es una pantalla: es el motor de validación XBRL que corre detrás. Es un Validating Processor XBRL certificado y entra directamente en el producto que ya vende.

Estructura

What, Why y How: todos apoyados en una sola ontología.

La mayoría de validadores se detiene en el What. Dicen que algo está mal y dejan el porqué, y el qué hacer, a quien recibe el mensaje. MirrorMere produce los tres juntos, y eso solo es posible porque aquí el propio XBRL está construido como una ontología.

What — qué falla
El punto exacto del documento, con nombre. No un código de error y una invitación a buscar.
Why — por qué está mal
Qué regla lo detectó y qué cláusula implementa esa regla. Meses después, cuando el auditor pregunte, esta es la respuesta.
How — qué hacer
No qué está mal, sino qué cambiar. Escrito para quien tiene la presentación entre manos, no para quien escribió el motor.
El fundamento: la ontología XBRL
Los conceptos, reglas, errores y cláusulas de XBRL están dispuestos como ontología. Los tres de arriba se infieren sobre ella mientras corre la validación.

Ontología e inferencia

El «por qué» es posible porque aquí el propio XBRL es una ontología.

Un validador que solo emite códigos de error no puede decirle por qué. Aquí los conceptos, las reglas, los errores y la cláusula tras cada uno están juntos en una sola ontología, y el veredicto es lo que SHACL infiere sobre ella. La inferencia es la razón.

Mapa general de todo lo que el motor sabe de XBRL: miles de puntos pequeños de colores unidos por líneas tenues, agrupados en cúmulos, uno por cada especificación.
El mismo mapa ampliado: los puntos se resuelven en términos con nombre — context, unit, period, Fact, Dimension, Hypercube — unidos por enlaces etiquetados.
ixbrlo:illegalMultipleUseOfId
    a owl:Class ;
    rdfs:subClassOf ixbrlo:ValidationError ;
    rdfs:comment "id attribute reused across iXBRL elements that require uniqueness."@en ;
    skos:note "Inline XBRL 1.1, Section 3 — ixe:illegalMultipleUseOfId"@en ;
    skos:note "Inline XBRL 1.1, Section 4 — ixe:illegalMultipleUseOfId"@en ;
    owl:equivalentClass <http://www.xbrl.org/2013/inlineXBRL/errors#illegalMultipleUseOfId> .

El vocabulario es el estándar del W3C; la última línea apunta al identificador de error que publica XBRL International. Ningún nombre de aquí es invención nuestra.

Why Path

Quien lo usa ve la cláusula, no solo un código de error.

Un código de error dice que algo está mal. Why Path dice qué objeto, qué regla y qué cláusula: quien tiene la presentación puede corregir, y ustedes pueden mostrar el razonamiento si se lo piden.

Menos preguntas vuelven a ustedes

Los usuarios dejan de preguntar qué significa un código de error: la respuesta ya está en el resultado.

Corrección más rápida

El objeto y la cláusula aparecen con nombre: nadie tiene que ir a buscarlos.

Pueden defender el veredicto

Cuando un auditor o un regulador pregunta por qué, el rastro es la respuesta.

Entrada

El fichero validado.

Regla

Las comprobaciones XBRL 2.1 §3–§5 que se ejecutaron.

Cláusula

Dos infracciones, ambas ligadas a XBRL 2.1 §5.1.3.4.

Qué corregir

El rol http://xbrl.org/role/conformance no puede usarse en link:label.

Esa última línea es lo que importa: señala la corrección, no solo el fallo.

Resultados en los que confiar

Cuando este motor dice que pasó, pasó.

Un resultado de validación acaba siendo el fundamento de una auditoría o de una presentación. Importan, pues, dos cosas: que la respuesta no oscile y que «superado» signifique realmente superado. Aquí nada adivina ni responde por probabilidad: meta cien veces el mismo documento y obtendrá cien veces la misma respuesta.

No señala nada sin fundamento

Cada hallazgo llega con la cláusula en la que se apoya. Si no se incumple ninguna, lo dice. Es tiempo que su equipo no gasta comprobando si un aviso era real.

Nunca llama «superado» a lo que no ha mirado

Una comprobación que no pudo ejecutar se declara como no ejecutada y se cuenta aparte de las superadas. Nada pasa en silencio, así que un resultado limpio puede tomarse al pie de la letra.

Una actualización no cambiará sus resultados

Las pruebas estándar se ejecutan en cada compilación, y un cambio que rompa aunque sea una jamás sale. Adoptar una versión nueva no da la vuelta a lo que concluyó el mes pasado.

Versión que lo produjo
Vincula cualquier resultado con la compilación exacta que lo produjo.
Entorno de ejecución
Indica si una diferencia viene del entorno y no del documento.
Qué taxonomías se leyeron
Permite a dos partes confirmar en una línea que estaban mirando las mismas taxonomías.
Ficheros que no encontró
Si este número no es cero, otro tanto quedó sin comprobar: y lo dice, en vez de dejar pasar en silencio.

Vuelva a ejecutarlo. La misma respuesta.

Núcleo de validación

Un módulo por especificación.

Cada especificación es un módulo aparte. Llévese el motor entero, o solo los que realmente maneja.

Especificación Qué comprueba
XBRL 2.1 Core Si importes, periodos, unidades y definiciones de conceptos encajan entre sí
XBRL Dimensions 1.0 Si los desgloses por segmento o zona son combinaciones permitidas
XBRL Formula 1.0 Si se cumplen las reglas de cálculo y control fijadas por la empresa o el regulador
XBRL Table Linkbase 1.0 Si el informe sale con el formato de tabla que exige el regulador
Inline XBRL 1.1 Si lo que ve un lector y lo que lee una máquina dicen lo mismo
Open Information Model 1.0 Si el mismo contenido conserva su sentido en XML, JSON y CSV
Extensible Enumerations 1.0 / 2.0 Si un campo que debe elegirse de una lista cerrada contiene realmente un valor de ella
Report Packages 1.0 Si el paquete de envío está armado como exigen las reglas
Taxonomy Packages 1.0 Si un paquete de taxonomía está bien armado y se resuelve sin acceso a Internet
Units Registry 1.0 Si las unidades como moneda, acciones y porcentajes siguen el registro estándar
Link Role Registry 1.0 Si los roles empleados son los publicados en el registro estándar
Transformation Rules Registry v3 / v4 / v5 Si «1.234» o «marzo de 2025» en pantalla se convierte en el valor prescrito

Calculation 1.1 viene con el núcleo. Elija el conjunto que elija, los hallazgos vuelven todos con la misma forma.

Java puro y rendimiento

Toda la batería de pruebas estándar termina en unos 20 segundos.

Java puro: nada de código nativo, nada más que instalar. Y aun así lo bastante rápido para ejecutar toda la batería dentro de su compilación. No una vez por versión: cada vez que cambia algo.

100%
del conjunto de pruebas de XBRL International superado
~20s
para ejecutar todo el conjunto
0
cosas que instalar aparte

Los tiempos varían según la máquina; lo que importa es el orden de magnitud, no la cifra exacta. Las pruebas son públicas: mídalo en su propio equipo.

Java 17 o posterior

Donde corra una JVM, corre esto. Nada más que instalar, ninguna biblioteca nativa en el paquete.

Para evaluación

Empiecen por sus propias presentaciones.

La forma más rápida de juzgar un motor es apuntarlo a documentos cuya respuesta ya conocen.