Menos preguntas vuelven a ustedes
Los usuarios dejan de preguntar qué significa un código de error: la respuesta ya está en el resultado.
Producto
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
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.
Ontología e inferencia
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.


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
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.
Los usuarios dejan de preguntar qué significa un código de error: la respuesta ya está en el resultado.
El objeto y la cláusula aparecen con nombre: nadie tiene que ir a buscarlos.
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
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.
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.
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.
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.
Vuelva a ejecutarlo. La misma respuesta.
Núcleo de validació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
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.
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.
Donde corra una JVM, corre esto. Nada más que instalar, ninguna biblioteca nativa en el paquete.
Para evaluación
La forma más rápida de juzgar un motor es apuntarlo a documentos cuya respuesta ya conocen.