prev | next
Last Updated: January 2026
This document maps the dependencies and relationships between XBRL specifications.
¶ Understanding the Dependency Structure
XBRL specifications form a hierarchical structure with:
- Foundation Layer: Core specifications that everything else builds upon
- Extension Layer: Specifications that extend core functionality
- Format Layer: Different representations of XBRL data
- Application Layer: Specifications for specific use cases
graph TB
XML[XML/XSD Standards]
XLink[XLink Standard]
XPath[XPath Standard]
XML --> XBRL21[XBRL 2.1<br/>CORE FOUNDATION]
XLink --> XBRL21
XPath --> XBRL21
XBRL21 --> Dimensions[XBRL Dimensions 1.0<br/>ESSENTIAL EXTENSION]
style XBRL21 fill:#ff6b6b,stroke:#c92a2a,stroke-width:4px
style Dimensions fill:#ff8787,stroke:#c92a2a,stroke-width:3px
style XML fill:#d3d3d3
style XLink fill:#d3d3d3
style XPath fill:#d3d3d3
Key:
- Red: Absolute foundation - required for all implementations
- Gray: External W3C standards
graph TB
XBRL21[XBRL 2.1]
Dimensions[Dimensions 1.0]
OIM[Open Information Model<br/>MODERN FOUNDATION]
XBRL21 --> OIM
Dimensions --> OIM
OIM --> xBRLXML[xBRL-XML<br/>Traditional Format]
OIM --> xBRLJSON[xBRL-JSON<br/>Web Format]
OIM --> xBRLCSV[xBRL-CSV<br/>Bulk Format]
XBRL21 --> InlineXBRL[Inline XBRL<br/>Human+Machine]
xBRLCSV --> TableConstraints[Table Constraints<br/>CR 2025]
style OIM fill:#4dabf7,stroke:#1971c2,stroke-width:3px
style xBRLJSON fill:#74c0fc,stroke:#1971c2,stroke-width:2px
style xBRLCSV fill:#74c0fc,stroke:#1971c2,stroke-width:2px
style xBRLXML fill:#74c0fc,stroke:#1971c2,stroke-width:2px
style InlineXBRL fill:#74c0fc,stroke:#1971c2,stroke-width:2px
Key:
- Dark Blue: Modern framework (OIM)
- Light Blue: Format specifications
graph TB
XBRL21[XBRL 2.1]
Dimensions[Dimensions 1.0]
XPath[XPath]
XBRL21 --> Calc20[Calculations 2.0]
XBRL21 --> Formula[Formula 1.0<br/>VALIDATION FRAMEWORK]
Dimensions --> Formula
XPath --> Formula
Formula --> Variables[Variables]
Formula --> Filters[Formula Filters]
Formula --> Assertions[Assertions]
Assertions --> ValueAssert[Value Assertions]
Assertions --> ExistAssert[Existence Assertions]
Assertions --> ConsistAssert[Consistency Assertions]
Formula --> Messages[Generic Messages]
Formula --> Severity[Assertion Severity]
style Formula fill:#51cf66,stroke:#2f9e44,stroke-width:3px
style Assertions fill:#8ce99a,stroke:#2f9e44,stroke-width:2px
style Variables fill:#8ce99a,stroke:#2f9e44,stroke-width:2px
style Filters fill:#8ce99a,stroke:#2f9e44,stroke-width:2px
Key:
- Dark Green: Main validation framework
- Light Green: Validation components
graph TB
XBRL21[XBRL 2.1]
Dimensions[Dimensions 1.0]
Formula[Formula 1.0]
XBRL21 --> GenericLinks[Generic Links]
XBRL21 --> GenericPrefLabel[Generic Preferred Label]
XBRL21 --> TableLinkbase[Table Linkbase 1.0<br/>PRESENTATION]
Dimensions --> TableLinkbase
Formula --> TableLinkbase
GenericLinks --> TableLinkbase
style TableLinkbase fill:#ffd43b,stroke:#f59f00,stroke-width:3px
style GenericLinks fill:#ffe066,stroke:#f59f00,stroke-width:2px
style GenericPrefLabel fill:#ffe066,stroke:#f59f00,stroke-width:2px
Key:
- Dark Yellow: Main presentation spec
- Light Yellow: Supporting presentation specs
graph TB
XBRL21[XBRL 2.1]
Dimensions[Dimensions 1.0]
XBRL21 --> ExtEnum[Extensible Enumerations 2.0<br/>CODE LISTS]
Dimensions --> ExtEnum
XBRL21 --> Versioning[Versioning<br/>CHANGE TRACKING]
XBRL21 --> TaxPackage[Taxonomy Packages<br/>DISTRIBUTION]
XBRL21 --> RepPackage[Report Packages 1.0<br/>DISTRIBUTION]
TaxPackage --> RepPackage
style ExtEnum fill:#da77f2,stroke:#9c36b5,stroke-width:2px
style Versioning fill:#da77f2,stroke:#9c36b5,stroke-width:2px
style TaxPackage fill:#da77f2,stroke:#9c36b5,stroke-width:2px
style RepPackage fill:#da77f2,stroke:#9c36b5,stroke-width:2px
Key:
- Purple: Taxonomy and report management
graph TB
XBRL21[XBRL 2.1]
Formula[Formula 1.0]
InlineXBRL[Inline XBRL]
XBRL21 --> UnitReg[Unit Types Registry<br/>SHARED RESOURCES]
Formula --> FuncReg[Functions Registry]
InlineXBRL --> TransReg[Transformation Registry]
XBRL21 --> LinkRoleReg[Link Role Registry]
XBRL21 --> ArcRoleReg[Arc Role Registry]
style UnitReg fill:#fd7e14,stroke:#d9480f,stroke-width:2px
style FuncReg fill:#fd7e14,stroke:#d9480f,stroke-width:2px
style TransReg fill:#fd7e14,stroke:#d9480f,stroke-width:2px
style LinkRoleReg fill:#fd7e14,stroke:#d9480f,stroke-width:2px
style ArcRoleReg fill:#fd7e14,stroke:#d9480f,stroke-width:2px
Key:
- Orange: Registry specifications
graph TB
subgraph "W3C Standards"
XML[XML/XSD]
XLink[XLink]
XPath[XPath]
HTML[HTML/XHTML]
JSON[JSON]
CSV[CSV]
end
subgraph "Foundation"
XBRL21[XBRL 2.1]
Dimensions[Dimensions 1.0]
end
subgraph "Modern Framework"
OIM[Open Information Model]
end
subgraph "Data Formats"
xBRLXML[xBRL-XML]
xBRLJSON[xBRL-JSON]
xBRLCSV[xBRL-CSV]
InlineXBRL[Inline XBRL]
end
subgraph "Validation"
Calc[Calculations 2.0]
Formula[Formula 1.0]
Variables[Variables]
Assertions[Assertions]
end
subgraph "Presentation"
TableLB[Table Linkbase]
GenLinks[Generic Links]
end
subgraph "Taxonomy Mgmt"
ExtEnum[Ext. Enumerations]
Versioning[Versioning]
TaxPkg[Tax. Packages]
RepPkg[Rep. Packages]
end
subgraph "Registries"
UnitReg[Units]
FuncReg[Functions]
TransReg[Transforms]
end
subgraph "Domain Specific"
GlobalLedger[Global Ledger]
end
XML --> XBRL21
XLink --> XBRL21
XPath --> XBRL21
XBRL21 --> Dimensions
XBRL21 --> OIM
Dimensions --> OIM
OIM --> xBRLXML
OIM --> xBRLJSON
OIM --> xBRLCSV
XBRL21 --> InlineXBRL
HTML --> InlineXBRL
JSON --> xBRLJSON
CSV --> xBRLCSV
XBRL21 --> Calc
XBRL21 --> Formula
Dimensions --> Formula
XPath --> Formula
Formula --> Variables
Formula --> Assertions
XBRL21 --> TableLB
Dimensions --> TableLB
Formula --> TableLB
XBRL21 --> GenLinks
XBRL21 --> ExtEnum
Dimensions --> ExtEnum
XBRL21 --> Versioning
XBRL21 --> TaxPkg
TaxPkg --> RepPkg
XBRL21 --> UnitReg
Formula --> FuncReg
InlineXBRL --> TransReg
XBRL21 --> GlobalLedger
style XBRL21 fill:#ff6b6b,stroke:#c92a2a,stroke-width:4px
style Dimensions fill:#ff8787,stroke:#c92a2a,stroke-width:3px
style OIM fill:#4dabf7,stroke:#1971c2,stroke-width:3px
Every XBRL implementation MUST support:
| Specification |
Depends On |
Status |
| XBRL 2.1 |
XML, XSD, XLink |
REC - Stable |
| XBRL Dimensions 1.0 |
XBRL 2.1 |
REC - Stable |
Rationale: These form the foundation. Almost all modern XBRL deployments use both.
Choose one or more based on requirements:
| Format |
Depends On |
Best For |
Status |
| xBRL-XML |
XBRL 2.1, OIM |
Traditional systems |
REC |
| Inline XBRL |
XBRL 2.1, HTML |
Human+machine reports |
REC |
| xBRL-JSON |
OIM |
Web apps, APIs |
REC |
| xBRL-CSV |
OIM |
Bulk data, analytics |
REC |
Rationale: Different formats serve different purposes. Modern implementations often support multiple formats.
| Specification |
Depends On |
Purpose |
Status |
| Calculations 2.0 |
XBRL 2.1 |
Simple math validation |
REC |
| Formula 1.0 |
XBRL 2.1, Dimensions, XPath |
Complex rules |
REC |
| Variables |
Formula |
Fact selection |
REC |
| Assertions |
Formula |
Rule validation |
REC |
Rationale: Essential for data quality but can be implemented incrementally.
| Specification |
Depends On |
Purpose |
Status |
| Table Linkbase |
XBRL 2.1, Dimensions |
Form templates |
REC |
| Generic Links |
XBRL 2.1 |
Custom relationships |
REC |
Rationale: Needed for regulatory forms and standardized presentations.
| Specification |
Depends On |
Purpose |
Status |
| Extensible Enumerations |
XBRL 2.1, Dimensions |
Code lists |
REC |
| Versioning |
XBRL 2.1 |
Change tracking |
REC |
| Taxonomy Packages |
XBRL 2.1 |
Distribution |
REC |
| Report Packages |
Taxonomy Packages |
Report distribution |
REC |
Rationale: Useful for taxonomy publishers and consumers managing versions.
| Registry |
Used By |
Purpose |
Status |
| Unit Types |
XBRL 2.1 |
Standard units |
REC |
| Functions |
Formula |
Custom functions |
REC |
| Transformations |
Inline XBRL |
Format conversions |
REC |
| Link/Arc Roles |
XBRL 2.1 |
Standard roles |
REC |
Rationale: Enhance interoperability but not strictly required.
Based on your 2014-2018 implementation, prioritize:
- ✅ XBRL 2.1 - Update conformance suite (2025)
- ✅ Dimensions - Update conformance suite (2025)
- 🆕 Open Information Model - New foundation (2021)
- 🆕 xBRL-JSON - Web integration (2021)
- 🆕 xBRL-CSV - Bulk data (2021)
- ✅ Inline XBRL - Update if you have it
- 🆕 Extensible Enumerations 2.0 - (2020)
- 🆕 Calculations 2.0 - Enhanced validation (2018)
- ✅ Formula - Update if you have it
- 🆕 Report Packages - New (2025)
- ✅ Taxonomy Packages - Update if needed
- 🔜 Digital Signatures - Under development
- 🔜 Streaming Extensions - Under development
Legend:
- ✅ = Update existing implementation
- 🆕 = New specification to add
- 🔜 = Future consideration
Always implement XBRL 2.1 before any extensions.
Almost all real-world taxonomies use Dimensions. Implement early.
If supporting multiple formats, implement OIM as the common model.
Each format (XML, JSON, CSV, Inline) should map to/from OIM.
- Layer 1: XBRL 2.1 syntax (minimal conformance)
- Layer 2: XBRL 2.1 semantics (full conformance)
- Layer 3: Calculations (simple math)
- Layer 4: Formula (complex rules)
Implement registry support incrementally as needed.
Table Linkbase only needed if rendering or collecting templated data.
Each specification has conformance suites:
| Specification |
Test Suites |
Update Frequency |
| XBRL 2.1 |
Yes |
Annually |
| Dimensions |
Yes |
Annually |
| Formula |
Yes |
Stable |
| Inline XBRL |
Yes |
As needed |
| Table Linkbase |
Yes |
Stable |
Recommendation: Run conformance suites for any specifications you implement.
| Spec A |
Spec B |
Compatibility Notes |
| XBRL 2.1 |
Dimensions 1.0 |
Tightly integrated, both stable |
| XBRL 2.1 |
OIM |
OIM maps existing concepts |
| OIM |
xBRL-JSON |
Direct mapping |
| OIM |
xBRL-CSV |
Direct mapping |
| Formula |
Table Linkbase |
Table Linkbase uses formula variables |
| XBRL 2.1 |
Inline XBRL |
Inline embeds XBRL 2.1 |
XBRL specifications depend on these external standards:
- XML 1.0 - Base syntax
- XML Schema 1.0 - Type definitions
- XML Namespaces - Namespace handling
- XLink 1.0 - Link relationships
- XPath 2.0 - Expressions and navigation
- XPath 3.1 - Extended expressions (Formula)
- HTML/XHTML - Inline XBRL base
- JSON - xBRL-JSON base (RFC 8259)
- CSV - xBRL-CSV base
¶ ISO Standards
- ISO 4217 - Currency codes (Unit Registry)
- ISO 8601 - Date formats
- ISO 639 - Language codes
The XBRL specification ecosystem is:
- Layered: Foundation → Extensions → Applications
- Modular: Choose what you need
- Stable Core: XBRL 2.1 + Dimensions remain stable
- Evolving Edges: New formats and features added regularly
- Interoperable: OIM enables format transformation
For a Java processor update from 2014-2018:
- Foundation is stable - minor updates only
- Major additions - OIM, JSON, CSV formats
- Enhanced features - Better enumerations, calculations
- New distribution - Report packages
Next: See 04-XBRL-Core-Specifications for deep dive into foundation specs.