Data Conversion for Tamino

#### Search Results

Search

# Data Conversion for Tamino

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.

- Built-In Tamino XML Schema Language Data Types

- Tamino XML Schema Constructors

- Multiplicity in Tamino XML Schema Language

## Built-In Tamino XML Schema Language Data Types

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

- Tamino Derived Data Type

### Tamino Primitive Data Type

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

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

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 maxOccurs | Is mapped to a Natural group structure.
xs:attribute | name ref type form use | Is mapped to a Natural group structure.
xs:choice | minOccurs maxOccurs | Is mapped to a Natural group structure.
xs:complexType | name mixed=false (only mixed=false supported) | Is a meta constructor and therefore does not result in a Natural data type immediately.
xs:element | name ref type form minOccurs maxOccurs | 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 xs:maxExclusive xs:minInclusive xs:minExclusive xs:minLength xs:pattern | 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 elementFormDefault targetNamespace | Is a meta constructor and therefore does not result in a Natural data type immediately.
xs:sequence | minOccurs maxOccurs | 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.

## Multiplicity in Tamino XML Schema Language

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.

### On this page

- Built-In Tamino XML Schema Language Data Types
- Tamino XML Schema Constructors
- Multiplicity in Tamino XML Schema Language