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-oecd-carf/ # OECD CARF third-party schemas
│ ├── schema-dac8/ # DAC8 CARF envelope API schema
│ ├── schema-oecd-globe/ # OECD GLOBE Pillar Two third-party schemas
│ └── schema-dac9/ # DAC9 Global Tax API schema
├── dto/
│ ├── dto-auth/
│ │ └── dto-auth-jakarta/ # Generated Jakarta EE DTOs from schema-auth
│ ├── dto-oecd-carf/
│ │ └── dto-oecd-carf-jakarta/ # Generated Jakarta EE DTOs from OECD CARF schema
│ ├── dto-dac8/
│ │ └── dto-dac8-jakarta/ # Generated Jakarta EE DTOs from schema-dac8
│ ├── dto-oecd-globe/
│ │ └── dto-oecd-globe-jakarta/ # Generated Jakarta EE DTOs from OECD GLOBE schema
│ └── dto-dac9/
│ └── dto-dac9-jakarta/ # Generated Jakarta EE DTOs from schema-dac9
└── 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-oecd-carf
Contains the OECD Crypto-Asset Reporting Framework (CARF) XML schemas. These are third-party XSD definitions published by the OECD, serving as the basis for content validation of DAC8 CARF reports.
2.1.3. schema-dac8
Contains the API XSD schema for DAC-8 services (the CarfRequest / CarfResponse envelope).
2.1.4. 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.1.5. schema-dac9
Contains the API XSD schema for DAC-9 services.
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-oecd-carf-jakarta
Jakarta EE DTO classes generated from schema-oecd-carf OECD CARF 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-carf- OECD CARF schema definitions
-
2.2.3. dto-dac8-jakarta
Jakarta EE DTO classes generated from schema-dac8 XSD schemas using JAXB.
-
Dependencies:
-
hu.gov.nav.schemas.common2:dto-jakarta- Common NTCA 2.0 DTOs -
hu.gov.nav.dcc.api:schema-dac8- DAC8 schema definitions
-
2.2.4. 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
-
2.2.5. 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
-
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 DAC8 schemas |
|
DCC M2M DAC9 schemas |
|
OECD CARF (Crypto-Asset Reporting Framework) main schema |
|
OECD CARF ISO country, currency, and language code types |
|
OECD CARF reusable types |
|
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 |
|