Below is a summary of the files needed to create a dimensional taxonomy within the Dutch Taxonomy framework. The file names are fictitious and look as though they are from the Tax and Customs Administration, but that is not the case, it is an example. In this example, a list of domain members is assumed that contains the countries with which a Tax Treaty is held.
Files can be graphically represented as follows:
Filename, functional description of the content, XML format.
|Technical hypercube abstract concept, Validation Table for each cube, with @substitutionGroup: hypercube item.
Technically primary abstract concept, ValidationLineItems for the primary concepts that always will be addressed together from a cube, with @substitutionGroup sbr:primaryDomainItem. The concepts are reused for each cube,the structure of the cube and the primaries of that cube are determined by the other relationships in specific linkroles.
|The primary concepts that will be addressed from a cube, with @substitutionGroup xbri: item. If necessary they can be included in different sets.|}
|Technical domain abstract concept for 'countries with Tax Treaty' with @substitutionGroup sbr:domainItem If more domains are necessary, a concept is included for each domain AND Abstract concepts for the domainmembers with @substitutionGroup sbr:DomainMemberItem.
|A single D-linkbase which contains the relationships between the functional domain and all country members in the ELR for that domain.
|OPTIONAL: A Linkbase per entrypoint (<ep>)which contains the relationships between the ValidationLineItems concept and the primaries in the ELR linked to the cube that is linked in that ELR to ValidationLineItems. Mutiple ELRs may be added to this linkbase.
|Schema that creates the technical ELRs in which the technical domains are linked to their members. Each technical domain has its own ELR. The ELR's are also used as a targetRole to match the domain to the right members.
|Schema containing the dimension abstract concepts for axes of cubes with @substitutionGroup xbrldt:dimensionItem. |}
|D-linkbase(s) in which the dimension/axis is made according to technical domain relationships. A dimension/axis can have several domains as child members. A domain may never be used as a member so @xbrldt:usable='false'. The members of a domain are found through the targetRole wuth a linkrole from bd-linkroles-domains.xsd.
|Schema that creates ELRs in which the ValidationTable is linked to the ValidationLineItems. Each cube has its own ELR that determines the content of the cube. Therefore the concepts ValidationTable and ValidationLineItems can be reused.
|Schema tjhat creates ELRs in which the dimension axis is linked to the domain.
|D-linkbase(s) per entrypoint (<ep>)in which the ValidationTable is linked to the dimension AND The ValidationLineItems to the ValidationTable with the 'all' arc. The content of the cube is defined by the targetRole with a linkRole from the bd-linkroles-tables.xsd.
An entry point schema makes <link:linkbaseRef> to the D-linkbases in which the cube is linked to the axis and primaries. The XBRL discovery mechanism is responsible for retrieving the other essential concepts and relationships.
Optionally, another ELR with a cube/table can be included in which the primaries are linked that are NOT dimensional. This prevents a context being included with these concepts in the instance that contains XDT content but that nevertheless cannot be verified.