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

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 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.