The DCC API is a multi-module Maven project containing the schema definitions for the NAV DAC (Directive on Administrative Cooperation) M2M interface. The project defines three main layers:
-
Schema layer (
schema) - XSD schema definitions -
DTO layer (
dto) - Jakarta EE Data Transfer Objects, generated from XSD schemas -
BOM layer (
bom) - Bill of Materials for centralized dependency version management
1. Project structure
DCC-API
├── bom/
│ ├── bom-all/ # Full BOM (project + external dependencies)
│ └── bom-project/ # Project modules only BOM
├── schema/
│ ├── schema-auth/ # M2M Token API schema
│ ├── schema-dac9/ # DAC9 Global Tax API schema
│ └── schema-oecd-globe/ # OECD GLOBE Pillar Two third-party schemas
├── dto/
│ ├── dto-auth/
│ │ └── dto-auth-jakarta/ # Generated Jakarta EE DTOs from schema-auth
│ ├── dto-dac9/
│ │ └── dto-dac9-jakarta/ # Generated Jakarta EE DTOs from schema-dac9
│ └── dto-oecd-globe/
│ └── dto-oecd-globe-jakarta/ # Generated Jakarta EE DTOs from OECD GLOBE schema
└── docs/ # Documentation
2. Module hierarchy
2.1. Schema modules
2.1.1. schema-auth
Contains the XSD schema for the M2M authentication token API.
2.1.2. schema-dac9
Contains the API XSD schema for DAC-9 services.
2.1.3. schema-oecd-globe
Contains the OECD GLOBE (Global Anti-Base Erosion) Pillar Two Information Return XML schemas. These are third-party XSD definitions published by the OECD, serving as the basis for content validation of DAC9 global minimum tax reports.
2.2. DTO modules
2.2.1. dto-auth-jakarta
Jakarta EE DTO classes generated from schema-auth XSD schemas using JAXB.
-
Dependencies:
-
hu.gov.nav.schemas.common2:dto-jakarta- Common NTCA 2.0 DTOs -
hu.gov.nav.dcc.api:schema-auth- Auth schema definitions
-
2.2.2. dto-dac9-jakarta
Jakarta EE DTO classes generated from schema-dac9 XSD schemas using JAXB.
-
Dependencies:
-
hu.gov.nav.schemas.common2:dto-jakarta- Common NTCA 2.0 DTOs -
hu.gov.nav.dcc.api:schema-dac9- DAC9 schema definitions
-
2.2.3. dto-oecd-globe-jakarta
Jakarta EE DTO classes generated from schema-oecd-globe OECD GLOBE XSD schemas using JAXB.
This module is standalone and does not use the Episode mechanism, as the OECD types are completely independent of the NTCA Common types.
-
Dependencies:
-
hu.gov.nav.schemas.common2:core-jakarta- Common NTCA 2.0 core module -
hu.gov.nav.dcc.api:schema-oecd-globe- OECD GLOBE schema definitions
-
3. Dependency diagram
4. Namespace strategy
The project uses the following namespace hierarchy:
| Namespace pattern | Description |
|---|---|
|
NTCA 2.0 common schemas (Common project) |
|
DCC M2M authentication schemas |
|
DCC M2M DAC9 schemas |
|
OECD GLOBE Information Return main schema |
|
OECD ISO country, currency, and language code types |
|
OECD reusable types |
The namespaces are organized under schemas.nav.gov.hu, with the DCC/1.0 version identifier,
and the m2m prefix indicates the machine-to-machine communication nature.
5. Technology stack
| Technology | Version / Description |
|---|---|
Java |
17 |
Jakarta EE |
JAXB 3.0 (Jakarta XML Binding) |
Maven |
Multi-module POM structure |
JAXB plugin |
|
JAXB extensions |
Fluent API ( |
XSD Catalog |
OASIS XML Catalog-based namespace resolution |
Common schemas |
|