MirrorMere®

Prodotto

Non si ferma a dirvi che qualcosa non va.

MirrorMere non è una schermata: è il motore di validazione XBRL che gira dietro. È un Validating Processor XBRL certificato e va dritto dentro il prodotto che già vendete.

Struttura

What, Why e How: tutti poggiati su un'unica ontologia.

La maggior parte dei validatori si ferma al What. Dicono che qualcosa non va e lasciano il perché, e il che fare, a chi riceve il messaggio. MirrorMere li produce tutti e tre insieme: possibile solo perché qui XBRL stesso è costruito come un'ontologia.

What — che cosa non va
Il punto esatto del documento, nominato. Non un codice d'errore e l'invito a cercare.
Why — perché è sbagliato
Quale regola l'ha intercettato e quale clausola quella regola attua. Mesi dopo, quando il revisore chiede, questa è la risposta.
How — che cosa fare
Non che cosa è sbagliato, ma che cosa cambiare. Scritto per chi ha in mano il deposito, non per chi ha scritto il motore.
Il fondamento — l'ontologia XBRL
I concetti, le regole, gli errori e le clausole di XBRL sono impostati come ontologia. I tre qui sopra vi vengono inferiti sopra mentre la validazione gira.

Ontologia e inferenza

Il «perché» è possibile perché qui XBRL stesso è un'ontologia.

Un validatore che emette solo codici d'errore non può dirvi perché. Qui i concetti, le regole, gli errori e la clausola dietro ciascuno stanno insieme in un'unica ontologia, e il verdetto è ciò che SHACL vi inferisce sopra. L'inferenza è la ragione.

Mappa d'insieme di tutto ciò che il motore sa di XBRL: migliaia di piccoli punti colorati uniti da linee tenui, raccolti in ammassi, uno per ogni specifica.
La stessa mappa ingrandita: i punti diventano termini con un nome — context, unit, period, Fact, Dimension, Hypercube — collegati da archi etichettati.
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> .

Il vocabolario è quello standard W3C; l'ultima riga punta all'identificatore d'errore pubblicato da XBRL International. Nessun nome qui è inventato da noi.

Why Path

Chi usa il prodotto vede la clausola, non solo un codice di errore.

Un codice di errore dice che qualcosa non va. Why Path dice quale oggetto, quale regola e quale clausola: chi ha in mano il deposito può correggere, e voi potete mostrare il ragionamento se ve lo chiedono.

Meno domande tornano a voi

Gli utenti smettono di chiedere che cosa significhi un codice di errore: la risposta è già nel risultato.

Correzione più rapida

L'oggetto e la clausola sono indicati per nome: nessuno deve andarli a cercare.

Potete difendere l'esito

Quando un revisore o un'autorità chiede perché, la traccia è la risposta.

Input

Il file validato.

Regola

I controlli XBRL 2.1 §3–§5 che hanno girato.

Clausola

Due violazioni, entrambe legate a XBRL 2.1 §5.1.3.4.

Che cosa correggere

Il ruolo http://xbrl.org/role/conformance non può essere usato su link:label.

È l'ultima riga che conta: indica la correzione, non solo l'errore.

Risultati su cui contare

Quando questo motore dice che è passato, è passato.

Un esito di validazione finisce per fondare una revisione o un deposito. Contano quindi due cose: che la risposta non oscilli e che «superato» voglia dire davvero superato. Qui nulla tira a indovinare né risponde per probabilità: date lo stesso documento cento volte e avrete cento volte la stessa risposta.

Non segnala nulla senza fondamento

Ogni rilievo arriva con la clausola su cui poggia. Se nessuna clausola è violata, lo dice. È tempo che il vostro team non spende a verificare se un avviso fosse reale.

Non chiama mai «superato» ciò che non ha visto

Un controllo che non è riuscito a eseguire viene riportato come non eseguito e contato a parte dai superati. Nulla passa in silenzio, quindi un esito pulito lo potete prendere alla lettera.

Un aggiornamento non cambia i vostri esiti

Le suite di test standard girano a ogni build, e una modifica che ne rompe anche una sola non esce mai. Prendere una nuova versione non ribalta ciò che avevate concluso il mese scorso.

Versione che l'ha prodotto
Riconduce ogni risultato alla build esatta che l'ha prodotto.
Ambiente di esecuzione
Dice se una differenza viene dall'ambiente invece che dal documento.
Quali tassonomie sono state lette
Permette a due parti di confermare in una riga che stavano guardando le stesse tassonomie.
File non trovati
Se questo numero non è zero, altrettanto è rimasto non controllato: e lo dice, invece di lasciar passare in silenzio.

Rieseguitelo. Stessa risposta.

Nucleo di validazione

Un modulo per specifica.

Ogni specifica è un modulo a sé. Prendete il motore intero, oppure solo quelli che trattate davvero.

Specifica Che cosa controlla
XBRL 2.1 Core Se importi, periodi, unità e definizioni dei concetti reggono insieme
XBRL Dimensions 1.0 Se le ripartizioni per settore o area sono combinazioni ammesse
XBRL Formula 1.0 Se le regole di calcolo e controllo poste dall'azienda o dal regolatore reggono
XBRL Table Linkbase 1.0 Se il rapporto esce nel formato tabellare prescritto dal regolatore
Inline XBRL 1.1 Se ciò che vede un lettore e ciò che legge una macchina dicono la stessa cosa
Open Information Model 1.0 Se lo stesso contenuto mantiene il significato tra XML, JSON e CSV
Extensible Enumerations 1.0 / 2.0 Se un campo che va scelto da un elenco chiuso contiene davvero un valore di quell'elenco
Report Packages 1.0 Se il pacchetto di trasmissione è confezionato come prescritto
Taxonomy Packages 1.0 Se un pacchetto di tassonomia è confezionato bene e si risolve senza Internet
Units Registry 1.0 Se le unità come valuta, azioni e percentuali seguono il registro standard
Link Role Registry 1.0 Se i ruoli usati sono quelli pubblicati nel registro standard
Transformation Rules Registry v3 / v4 / v5 Se «1.234» o «marzo 2025» a schermo si converte nel valore prescritto

Calculation 1.1 arriva con il nucleo. Qualunque insieme scegliate, i rilievi tornano tutti nella stessa forma.

Java puro e prestazioni

L'intera suite di test standard finisce in circa 20 secondi.

Puro Java: nessun codice nativo, nulla da installare in più. E abbastanza veloce da far girare l'intera suite dentro la vostra build. Non una volta per rilascio: ogni volta che cambiate qualcosa.

100%
dell'insieme di test XBRL International superato
~20s
per eseguire l'intero insieme
0
cose da installare a parte

I tempi variano da macchina a macchina; conta l'ordine di grandezza, non il numero esatto. I test sono pubblicati: potete misurarlo sul vostro hardware.

Java 17 o successivo

Dove gira una JVM, gira anche questo. Nient'altro da installare, nessuna libreria nativa nel pacchetto.

Per valutazione

Cominciate dai vostri depositi reali.

Il modo più rapido per giudicare un motore è metterlo su documenti di cui conoscete già la risposta.