Návrh DAD opět začneme od hlavního array dokumentu:
Faktura
66
67
68
69
70
71
72
73
74
75
76
77
84
85
86
015
pdk
general ...
idfak_cifa
idfak_dtmvst
idfak_dtmspl
idfak_dtmzp
fdk1
odb_ojm
fsk1
odb_opr
odb_uli
odb_mst
odb_psc
odb_bnt
smfa_ccbd
smfa_dphc
smfa_ckuh
016
017
table:
fakt
basic
true
distance:
0
select:
true
previous:
0
key-owner:
false
key-prev:
0
frgn-main:
false
join-key:
-
Pro oblast odběratele bude vedle vlastních kolonek v základním (a navíc hlavním) array třeba ještě kolonek v odvozeném array, které budou sloužit k načtení výchozích hodnot. Do atributu array v XDS se však bude k prvkům se zdrojem initial ukládat pouze číslo základního array. Odvozené array pro dokument subjektu bude nyní pouze jedno, protože se jedná o adresu sídla a nikoli výběr z korespondenčních adres:
Faktura
71
72
73
74
016
pdk
ozn_ojm
adr_uli
adr_mst
adr_psc
table:
subjekt
basic
false
distance:
1
select:
false
previous:
015
key-owner:
true
key-prev:
015
frgn-main:
true
join-key:
-
Dále bude pro fakturu vytvořeno array pro jednotlivé položky, které bude sice vedlejší, ale stále bude základní (tj. basic=true):
Faktura
78
79
80
81
82
83
84
017
psk
tdk
fdk1
kdart
nzvart
cevip
cedbr
bznce
szdph
dph
015
018
table:
fakt_plzky_plzka
basic
true
distance:
1
select:
true
previous:
015
key-owner:
false
key-prev:
015
frgn-main:
false
join-key:
-
Pro naplňování výchozích hodnot mechanismem initial je zapotřebí ještě array odvozené z tabulky (resp. základního array) artiklu. Toto array je opět zvláštní tím, že XDS čísla (zapisovaná v našich schématech nad políčka) odpovídají číslům v základním array, které slouží stejnému prvku. Poslední array faktury bude tedy vypadat takto: