MirrorMere®

Prodotto

Ogni rilievo arriva con la sua ragione e la sua correzione.

MirrorMere è il motore di validazione XBRL che gira dentro il prodotto che già vendete. Ogni rilievo porta con sé dove si trova, quale clausola viola e che cosa cambiare.

Ontologia e Why Path

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

Un validatore che restituisce solo codici d'errore non sa spiegarsi. MirrorMere lega concetti, regole, errori e clausole in un'unica ontologia e vi ragiona sopra con SHACL: il percorso dell'inferenza è la ragione, e che cosa non va, perché e che cosa cambiare escono in un colpo solo. Ed è quel percorso che vedete come Why Path.

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.

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.