Tamino からの Natural DDM の生成は、Tamino XML スキーマ言語に基づいて行われます。Tamino XML スキーマ言語の基本概念、および Natural for Tamino との対話方法については、『プログラミングガイド』の「Tamino データベースのデータへのアクセス」を参照してください。
このセクションでは、Tamino データタイプの Natural データフォーマットへのマッピングについて説明します。
Tamino XML スキーマ言語には、可能であれば、対応する Natural データフォーマットにマップされる組み込みデータタイプが多数用意されています。データタイプによっては、適切な Natural データフォーマットがない場合もあります。そのような
Tamino データタイプは、最も汎用的な次の Natural データフォーマットにマップされます:U
(DYNAMIC)スキーマ言語は長さが無制限の文字列を基本にしているため、データフォーマット U (DYNAMIC) はあらゆる Tamino XML スキーマの組み込みデータタイプを保持できます。
次の表は、Natural for Tamino でサポートされている組み込み Tamino 基本データタイプおよび派生データタイプと、これらのデータタイプがマップされる Natural データフォーマットを示しています。
| Tamino の基本データタイプ | Natural データフォーマット/データ長 |
|---|---|
| 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 の派生データタイプ | Natural データフォーマット/データ長 |
|---|---|
| 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 スキーマコンストラクタは、ドキュメント構造を定義するために使用します。また、コンストラクタを使用することにより、既存のデータ型から新しいデータ型を派生させたり、ドキュメントのネスト構造を記述したりすることができます。
Tamino XML スキーマのデータタイプは、既存データタイプの一連の派生メソッドを使用して新規作成できます。派生データタイプを Natural データフォーマットにマップできない場合、代わりに最も汎用的なデータフォーマット U
(DYNAMIC) が Natural によって使用されます。
次の表は、Natural によってサポートされている Tamino XML スキーマコンストラクタと各コンストラクタの属性を示しています。コメント列には、DDM が生成されるときに実行されるマッピングについての説明が記載されています。
XML スキーマコンストラクタの使用に関する制限事項については、『プログラミングガイド』の「Tamino データベースのデータへのアクセス」を参照してください。
| コンストラクタ | 属性 | コメント |
|---|---|---|
| xs:all |
minOccurs |
Natural グループ構造にマップされます。 |
| xs:attribute |
名前 |
Natural グループ構造にマップされます。 |
| xs:choice |
minOccurs |
Natural グループ構造にマップされます。 |
| xs:complexType |
名前 (mixed=false のみサポート) |
メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 |
| xs:element |
名前 |
xs:element 副構造(単一または複合タイプ定義)に応じて、Natural データタイプまたは Natural グループにマップされます。
|
| xs:enumeration | タイプ U (DYNAMIC) にマップされます。
|
|
| xs:extension | base | メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 |
| xs:fractionDigits | value | Natural データタイプの精度に影響します。 |
| xs:length | value | Natural データタイプの長さに影響します。unbounded の長さがタイプ U (DYNAMIC) にマップされます。
|
|
xs:maxInclusive |
value | マッピングに影響しません(つまり、base タイプは制限を受けません)。 |
| xs:maxLength | value | Natural データタイプの長さに影響します。unbounded の長さがタイプ U (DYNAMIC) にマップされます。
|
| xs:restriction | base | メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 |
| xs:schema |
attributeFormDefault |
メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 |
| xs:sequence |
minOccurs |
Natural グループ構造にマップされます。 |
| xs:simpleContent | メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 | |
| xs:simpleType | 名前 | メタコンストラクタであるため、直ちに Natural データタイプにはなりません。 |
| xs:totalDigits | value | Natural 数値データタイプの長さに影響します。 |
Tamino XML スキーマ言語の多重度は、適切なコンストラクタの属性 maxOccurs を使用して表現します。maxOccurs の値が 1 より大きい場合、Tamino から生成される Natural DDM は配列定義になります。maxOccurs の値に応じて、静的配列(maxOccurs が数値に設定されている場合)または X-array(maxOccurs が unbounded に設定されている場合)が DDM に生成されます。通常と同様、配列定義は、DDM からビューを定義するときに上書きできます。