Difference between data dictionary and typical Adobe application modeling technology

The Data Dictionary building block leverages the Adobe application modeling technology for capturing the domain model. Data dictionaries created using the Data Dictionary tools are extended and annotated models with custom annotations. They capture the structure, metadata, and back-end data bindings.

Supported XSD constructs for data dictionary creation

The following table details the constructs and data types supported by the Data Dictionary building block schema definition:

XSD Constructs

Description

complexType

Inline and "ref" complex types.

Sequence within complex types. A complex type element is an XML element that contains other elements and attributes. In Data Dictionary, elements of complex types are mapped to composite data dictionary elements.

Simple Types

String, Number, Date & Boolean primitives

xs:ID

Any attribute with type xs:ID is marked as key element

maxOccurs

The <maxOccurs> indicator specifies the maximum number of times an element can occur which is used to determine if the DDE is of type "collection".

minOccurs

minOccurs == 0 marks corresponding data dictionary element as optional/non-required

Enumerations

The Data Dictionary building block supports enumerations as data dictionary element sub type which defines a list of possible values for a data dictionary element.

References

Circular references/Recursive references in XSD Schema are handled.

The XSD import to create a data dictionary does not support all XSD elements, the following table details some of the limitations:

Element

Description

xs:Restrictions

The "enumeration" restriction is the only supported restriction. It defines the data dictionary element of subtype enum and associates value set(domain of values) with the DDE.

xs:include and xs:import

An XML Schema spanning over multiple files is not supported

xs:any

The <any> Element is a wildcard that allows the insertion of any element belonging to a list of namespaces.

xs:Substitution

Substituting one element with another element is not supported.

Custom Data Model Annotations for Data Dictionary

A data dictionary can be expressed into and created from an annotated and extended data model. The annotations in question are data dictionary specific and capture all data dictionary-specific information in the model. The following table details model level annotations:

Annotation

Item

Description

DDS

name

Required. The name of the data dictionary.

DDS

displayName

Optional. The user-friendly name of the data dictionary.

DDS

version

Optional. The version of the data dictionary.

DDS

type

Optional. The type of data dictionary can be SYSTEM or NONSYSTEM. See the "DataDictionaryType" enum class in Java Docs for more information.

DDS

referenceName

Required. Reference Name stores the unique name of a DDE within the Data Dictionary. This property and is used to refer a DDE within assets. This property cannot be changed once created. If the referenceName of a DDE is modified, then you must update the reference of this DDE in all the assets (where it is used).

General

description

Optional. Description of the data dictionary.

The following table details entity level annotations:

Annotation Group

Annotation

Description

DDS

setAsTopLevelWithName

Optional. The data dictionary allows only one top level entity. This annotation helps in selecting a top level entity when more then one top level entities are present. If this annotation is not provided, an incorrect data dictionary with multiple top elements will be created.

DDS

displayName

Optional. User-friendly name of the DDE

DDS

lcdsDestination

Optional. Required for System Data Dictionaries. Can be either in DMS or Data Services annotation group.

General

description

Description of the DDE.

XmlBinding

xpath

Used for binding a DDE to XML Schema.

// Ethnio survey code removed