반복 문의가 줄어듭니다
오류 코드의 의미를 묻는 문의가 줄어듭니다. 필요한 설명이 이미 검증 결과에 포함되어 있습니다.
구현 방식
대부분의 검증기는 무엇이 잘못됐는지만 알려줍니다. 왜 잘못됐는지, 이후 무엇을 해야 하는지는 사용자가 직접 파악해야 합니다. MirrorMere는 XBRL 자체를 온톨로지로 구현했기 때문에 세 가지 답을 함께 제공합니다.
온톨로지와 추론
오류 코드만 반환하는 검증기는 판정의 이유를 설명하기 어렵습니다. MirrorMere는 개념, 규칙, 오류, 근거 조항을 하나의 온톨로지로 연결하고 SHACL 추론을 통해 판정을 도출합니다. 이 추론 경로 자체가 판정의 근거가 됩니다.


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> .
사용된 어휘는 W3C 표준이며, 마지막 줄은 XBRL International이 공개한 오류 식별자를 가리킵니다. MirrorMere가 임의로 만든 명칭이 아닙니다.
Why Path
오류 코드는 문제가 있다는 사실만 알려줍니다. Why Path는 어떤 객체가 어떤 규칙과 조항을 위반했는지까지 보여줍니다. 공시 담당자는 이를 바탕으로 바로 수정할 수 있고, 이후 판정 근거를 요구받아도 추론 경로를 제시할 수 있습니다.
오류 코드의 의미를 묻는 문의가 줄어듭니다. 필요한 설명이 이미 검증 결과에 포함되어 있습니다.
문제 객체와 근거 조항이 명확히 표시되므로 별도로 찾아볼 필요가 없습니다.
감사인이나 규제기관이 이유를 묻더라도 기록된 추론 경로를 근거로 제시할 수 있습니다.
입력
검증 대상 파일
규칙
실행된 XBRL 2.1 §3–§5 검사
조항
두 건의 위반 사항이 모두 XBRL 2.1 §5.1.3.4에 연결됩니다.
수정 항목
역할 http://xbrl.org/role/conformance은 link:label에 쓸 수 없습니다.
마지막 줄이 핵심입니다. 실패 사실만 알리는 것이 아니라 무엇을 수정해야 하는지 명확히 제시합니다.
믿을 수 있는 결과
검증 결과는 감사와 규제 제출의 근거가 됩니다. 따라서 결과는 일관되어야 하며, ‘통과’는 실제로 모든 필수 검사를 통과했다는 뜻이어야 합니다. MirrorMere는 추측이나 확률에 의존하지 않으므로 같은 문서를 반복해 검사해도 항상 같은 결과를 반환합니다.
모든 지적에는 근거 조항이 함께 제공됩니다. 위반한 조항이 없으면 없다고 명확히 답합니다. 팀이 경고의 진위를 다시 확인하는 시간을 줄일 수 있습니다.
실행하지 못한 검사는 ‘미수행’으로 표시하고 통과 건수와 별도로 집계합니다. 누락된 검사가 조용히 넘어가지 않으므로 이상 없음 결과를 신뢰할 수 있습니다.
모든 빌드에서 전체 표준 테스트를 실행하며, 단 하나의 테스트라도 깨뜨리는 변경은 배포하지 않습니다. 새 버전으로 업그레이드해도 기존 판정이 이유 없이 뒤집히지 않습니다.
다시 실행해도 결과는 같습니다.
검증 코어
각 스펙은 별도 모듈로 구성되어 있습니다. 전체 엔진을 사용하거나 실제로 필요한 모듈만 선택할 수 있습니다.
| 스펙 | 검사 항목 |
|---|---|
| XBRL 2.1 Core | 수치, 기간, 단위, 개념 정의가 서로 일관되는지 검사합니다. |
| XBRL Dimensions 1.0 | 부문·지역 등의 차원 조합이 택소노미에서 허용되는지 검사합니다. |
| XBRL Formula 1.0 | 기업이나 규제기관이 추가로 정의한 계산 및 업무 규칙을 충족하는지 검사합니다. |
| XBRL Table Linkbase 1.0 | 보고서가 규제기관이 정한 표 형식에 맞게 구성되는지 검사합니다. |
| Inline XBRL 1.1 | 사용자에게 보이는 내용과 기계가 읽는 데이터가 일치하는지 검사합니다. |
| Open Information Model 1.0 | 동일한 내용을 XML, JSON, CSV로 표현해도 의미가 유지되는지 검사합니다. |
| Extensible Enumerations 1.0 / 2.0 | 고정된 선택 목록을 사용하는 항목에 허용된 값이 입력되었는지 검사합니다. |
| Report Packages 1.0 | 제출 패키지가 규정된 구조로 구성되었는지 검사합니다. |
| Taxonomy Packages 1.0 | 택소노미 패키지가 올바르게 구성되었고 인터넷 연결 없이도 참조를 해석할 수 있는지 검사합니다. |
| Units Registry 1.0 | 통화, 주식 수, 백분율 등의 단위가 표준 레지스트리를 따르는지 검사합니다. |
| Link Role Registry 1.0 | 사용된 역할이 표준 레지스트리에 등록된 역할인지 검사합니다. |
| Transformation Rules Registry v3 / v4 / v5 | 화면의 ‘1,234’ 또는 ‘2025년 3월’과 같은 표시값이 규칙에 맞는 데이터 값으로 변환되는지 검사합니다. |
Calculation 1.1은 코어 모듈에 포함됩니다. 어떤 모듈 조합을 선택해도 결과는 동일한 형식으로 반환됩니다.
Pure Java와 성능
Pure Java로 구현되어 네이티브 코드나 추가 설치 항목이 없습니다. 전체 표준 테스트를 빌드 과정에서 실행할 수 있을 만큼 빠르기 때문에 릴리스 직전뿐 아니라 코드 변경 때마다 검증할 수 있습니다.
실행 시간은 장비에 따라 달라집니다. 정확한 수치보다 전체 테스트를 수십 초 내에 처리하는 수준이라는 점이 중요합니다. 표준 테스트는 XBRL International이 배포하므로 직접 내려받아 사용하시는 장비에서 측정할 수 있습니다.
JVM이 실행되는 환경이라면 어디서든 사용할 수 있습니다. 별도 설치 프로그램이나 네이티브 라이브러리가 필요하지 않습니다.
평가
검증 엔진을 평가하는 가장 빠른 방법은 이미 정답을 알고 있는 실제 문서를 직접 검사해 보는 것입니다.