The generation of Natural DDMs from Tamino is based on the Tamino XML schema language. The basic concepts of the Tamino XML schema language and how it interacts with Natural for Tamino is described in Accessing Data in a Tamino Database in the Programming Guide.
This section describes the mapping of Tamino data types to Natural data formats.
The Tamino XML schema language provides a large number of built-in data
types that are mapped to the corresponding Natural data format, if possible. In
some cases no adequate Natural data format is available. Then these Tamino data
types are mapped to the most general Natural data format: U
(DYNAMIC)
. The data format U (DYNAMIC)
can hold any Tamino
XML schema built-in data type as the schema language is based on strings of
unlimited length.
The following tables show the built-in Tamino primitive and derived data types supported by Natural for Tamino and the corresponding Natural data formats to which they are mapped.
Tamino Primitive Data Type | Natural Data Format/Length |
---|---|
xs:string | U (DYNAMIC) |
xs:boolean | L |
xs:decimal | P22.7 |
xs:float | F4 |
xs:double | F8 |
xs:duration | U (DYNAMIC) |
xs:dateTime | U (DYNAMIC) |
xs:time | T |
xs:date | D |
xs:gYearMonth | U (DYNAMIC) |
xs:gYear | U (DYNAMIC) |
xs:gMonthDay | U (DYNAMIC) |
xs:gDay | U (DYNAMIC) |
xs:gMonth | U (DYNAMIC) |
xs:hexBinary | U (DYNAMIC) |
xs:base64Binary | U (DYNAMIC) |
xs:anyURI | U (DYNAMIC) |
xs:QName | U (DYNAMIC) |
xs:NOTATION | U (DYNAMIC) |
Tamino Derived Data Type | Natural Data Format/Length |
---|---|
xs:normalizedString | U (DYNAMIC) |
xs:token | U (DYNAMIC) |
xs:language | U (DYNAMIC) |
xs:NMTOKEN | U (DYNAMIC) |
xs:NMTOKENS | U (DYNAMIC) |
xs:Name | U (DYNAMIC) |
xs:NCName | U (DYNAMIC) |
xs:ID | U (DYNAMIC) |
xs:IDREF | U (DYNAMIC) |
xs:IDREFS | U (DYNAMIC) |
xs:ENTITY | U (DYNAMIC) |
xs:ENTITIES | U (DYNAMIC) |
xs:Integer | P29 |
xs:nonPositiveInteger | P29 |
xs:negativeInteger | P29 |
xs:long | P19 |
xs:int | I4 |
xs:short | I2 |
xs:byte | I2 |
xs:nonNegativeInteger | P29 |
xs:unsignedLong | P19 |
xs:unsignedShort | I2 |
xs:unsignedByte | I2 |
xs:unsignedInt | I4 |
xs:positiveInteger | P29 |
Tamino XML Schema constructors are used to define the structure of a document. Constructors can also be used to derive new data types from existing ones and to describe the nested structure of a document.
New Tamino XML Schema data types can be created by using a set of
derivation methods from existing data types. If the derivation cannot be mapped
to a Natural data format, Natural uses the most general data format U
(DYNAMIC)
instead.
The following table shows the Tamino XML schema constructors Natural supports and the attributes for each constructor. The Comment column describes the mapping, which is performed when a DDM is generated.
For restrictions concerning the use of XML schema constructors refer to the section Accessing Data in a Tamino Database in the Programming Guide.
Constructor | Attribute | Comment |
---|---|---|
xs:all |
minOccurs |
Is mapped to a Natural group structure. |
xs:attribute |
name |
Is mapped to a Natural group structure. |
xs:choice |
minOccurs |
Is mapped to a Natural group structure. |
xs:complexType |
name (only mixed=false supported) |
Is a meta constructor and therefore does not result in a Natural data type immediately. |
xs:element |
name |
Mapped to a Natural data type or to a Natural group, depending
on the xs:element sub-structures (simple or complex type
definition).
|
xs:enumeration | Is mapped to type U (DYNAMIC) .
|
|
xs:extension | base | Is a meta constructor and therefore does not result in a Natural data type immediately. |
xs:fractionDigits | value | Influences the precision of the Natural data type. |
xs:length | value | Influences the length of a Natural data type; a length of
unbounded is mapped to type U (DYNAMIC) .
|
xs:maxInclusive |
value | Does not influence the mapping (that is, the base type will not be restricted in any way). |
xs:maxLength | value | Influences the length of a Natural data type; a length of
unbounded is mapped to type U (DYNAMIC) .
|
xs:restriction | base | Is a meta constructor and therefore does not result in a Natural data type immediately. |
xs:schema |
attributeFormDefault |
Is a meta constructor and therefore does not result in a Natural data type immediately. |
xs:sequence |
minOccurs |
Is mapped to a Natural group structure. |
xs:simpleContent | Is a meta constructor and therefore does not result in a Natural data type immediately. | |
xs:simpleType | name | Is a meta constructor and therefore does not result in a Natural data type immediately. |
xs:totalDigits | value | Influences the length of a numeric Natural data type. |
The multiplicity feature in the Tamino XML schema language is expressed
by the attribute maxOccurs
of the appropriate
constructor. A maxOccurs
value greater than
1
will result in an array definition in the Natural DDM from
Tamino. Depending on the value of maxOccurs
, a
static array (if maxOccurs
is set to a number)
or an X-Array (if maxOccurs
is set to
unbounded
) will be generated in the DDM. As usual, the array
definition can be overwritten when defining a view from a DDM.