-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-| OpenAPI™ | Type in TDL | Constraints | Formats and Patterns |
|---|
components:
@@ -404,11 +393,11 @@ As an example consider the OpenAPI™ snippet shown in Figure 8.2.2-1 and the de
items:
$ref: '#/components/schemas/LibraryBook'
-
Type LibraryBook (
@@ -436,7 +425,7 @@ As an example consider the OpenAPI™ snippet shown in Figure 8.2.2-1 and the de
Map Library to "Library"
in TARGET_MAPPING as Library_TARGET_MAPPING
-| ASN.1 Type | Type in TDL | Constraints | Patterns | Examples | @@ -520,7 +512,7 @@ ASN.1 includes a set of built-in types, some of which are mapped to TDL accordinUTCTime | UTCTime | ASN1DateTime | YYMMDDhhmm[ss]Z | "991231235959+0200" |
|---|---|---|---|---|---|---|---|---|---|
| GeneralizedTime | GeneralizedTime | ASN1DateTime | YYYYMMDDHH[MM[SS[.fff]]]Z (ISO 8601 [i.38]) | "20200425175522.214+0200" | +GeneralizedTime | GeneralizedTime | ASN1DateTime | YYYYMMDDHH[MM[SS[.fff]]]Z (ISO 8601 Date and time format) | "20200425175522.214+0200" |
| DATE | Date | ASN1DateTime | YYYY-MM-DD | "1636-09-18" | @@ -557,49 +549,62 @@ ASN.1 includes a set of built-in types, some of which are mapped to TDL accordin The transformation of ASN.1 data types into TDL data types involves the following conventions: -- If the data type corresponds to one of the predefined 'DataType's within the ASN.1 library as indicated in Table 8.3.1-1, the ASN.1 'Type' is mapped -to the corresponding TDL 'SimpleDataType' from Table 8.3.1-1. For the supported ASN.1 types the following additional restrictions apply: +- If the data type corresponds to one of the predefined 'DataType's within the ASN.1 library as indicated in Table 2, the ASN.1 'Type' is mapped +to the corresponding TDL 'SimpleDataType' from Table 2. For the supported ASN.1 types the following additional restrictions apply: - NULL type is only used in the scope of a Choice type where if there is no information, the corresponding alternative is activated. -- If the ASN.1 data type is a 'SequenceType', a 'SetType', or a 'ChoiceType', it is mapped to a 'StructuredDataType' with a 'name' corresponding to the name of the ASN.1 data type. In the case of 'ChoiceType', a 'Constraint' with the predefined 'union' 'ConstraintType' is applied to the corresponding 'StructuredDataType', and all 'Members are marked as optional. +- If the ASN.1 data type is a 'SequenceType', a 'SetType', or a 'ChoiceType', it is mapped to a 'StructuredDataType' with a 'name' corresponding to the name of the ASN.1 data type. +In the case of 'ChoiceType', a 'Constraint' with the predefined 'union' 'ConstraintType' is applied to the corresponding 'StructuredDataType', and all 'Members are marked as optional. - If the ASN.1 data type is a 'SequenceOfType' or a 'SetOfType', it is mapped to a 'CollectionDataType' with a 'name' corresponding to the name of the ASN.1 data type. The 'Type' indicated for the 'SequenceOfType' or 'SetOfType' is mapped to the corresponding 'DataType' as the 'itemType' of the 'CollectionDataType'. +- If the ASN.1 data type is a 'SequenceOfType' or a 'SetOfType', it is mapped to a 'CollectionDataType' with a 'name' corresponding to the name of the ASN.1 data type. The 'Type' indicated for +the 'SequenceOfType' or 'SetOfType' is mapped to the corresponding 'DataType' as the 'itemType' of the 'CollectionDataType'. -- Each 'ComponentType' in the 'ComponentTypeList' of the 'SequenceType', 'SetType', or 'ChoiceType' is mapped to a 'Member' within the corresponding 'StructuredDataType' with a 'name' corresponding to the 'identifier' of the 'ComponentType'. If a 'Member' with the same 'name' exists, no action is taken. The 'dataType' of the 'Member' corresponds to: +- Each 'ComponentType' in the 'ComponentTypeList' of the 'SequenceType', 'SetType', or 'ChoiceType' is mapped to a 'Member' within the corresponding 'StructuredDataType' with a 'name' corresponding to the +'identifier' of the 'ComponentType'. If a 'Member' with the same 'name' exists, no action is taken. The 'dataType' of the 'Member' corresponds to: - A new 'DataType' corresponding to the 'Type' of the 'ComponentType' with a 'name' prefixed with the 'name' of the containing 'StructuredDataType' in case a 'ComponentType' is directly contained within another 'ComponentType'. - - A 'SimpleDataType' corresponding to the 'Type' of the 'ComponentType' in case the 'SimpleDataType' is one of the predefined 'DataType's within the ASN.1 library as indicated in Table 8.3.1-1. + - A 'SimpleDataType' corresponding to the 'Type' of the 'ComponentType' in case the 'SimpleDataType' is one of the predefined 'DataType's within the ASN.1 library as indicated in Table 2. - Nested 'ComponentType's are transformed according to the conventions above. -- If the ASN.1 data type is an 'EnumeratedType', it is mapped to an 'EnumDataType' with a 'name' corresponding to the name of the ASN.1 data type. The contained 'EnumerationItem's are mapped to 'SimpleDataInstance's of the 'EnumDataType' that are contained in the 'EnumDataType'. There are no guidelines for 'NamedNumber's at present. +- If the ASN.1 data type is an 'EnumeratedType', it is mapped to an 'EnumDataType' with a 'name' corresponding to the name of the ASN.1 data type. The contained 'EnumerationItem's are mapped +to 'SimpleDataInstance's of the 'EnumDataType' that are contained in the 'EnumDataType'. There are no guidelines for 'NamedNumber's at present. -- Corresponding 'DataElementMapping's are created for the defined data types. 'DataElementMapping's for 'DataType's derived from anonymous (inline) data types are not created. The 'DataElementMapping's may include target platform mappings in addition to the source mappings to the ASN.1 specifications. +- Corresponding 'DataElementMapping's are created for the defined data types. 'DataElementMapping's for 'DataType's derived from anonymous (inline) data types are not created. +The 'DataElementMapping's may include target platform mappings in addition to the source mappings to the ASN.1 specifications. -For the following built-in types not mentioned in Table 8.3.1-1, the transformations to TDL types are done as follows: +For the following built-in types not mentioned in Table 2, the transformations to TDL types are done as follows: -- UnrestrictedCharacterStringType: Replace the CHARACTER STRING type with its associated type obtained by expanding inner subtyping in the associated type of the CHARACTER STRING type (see clause 44.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. +- UnrestrictedCharacterStringType: Replace the CHARACTER STRING type with its associated type obtained by expanding inner subtyping in the associated type of the CHARACTER STRING +type (see clause 44.5 of Recommendation ITU T X.680) to the corresponding TDL type. -- EmbeddedPDVType: Replace any EMBEDDED PDV type with its associated type obtained by expanding inner subtyping in the associated type of the EMBEDDED PDV type (see clause 36.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. +- EmbeddedPDVType: Replace any EMBEDDED PDV type with its associated type obtained by expanding inner subtyping in the associated type of the EMBEDDED PDV type + (see clause 36.5 of Recommendation ITU T X.680) +to the corresponding TDL type. -- ExternalType: replace the EXTERNAL type with its associated type obtained by expanding inner subtyping in the associated type of the EXTERNAL type (see clause 37.5 of Recommendation ITU-T X.680 [i.34]) to the corresponding TDL type. +- ExternalType: replace the EXTERNAL type with its associated type obtained by expanding inner subtyping in the associated type of the EXTERNAL type +(see clause 37.5 of Recommendation ITU T X.680)) +to the corresponding TDL type. -- InstanceOfType: Replace the INSTANCE OF type with its associated type obtained by substituting INSTANCE OF DefinedObjectClass by its associated ASN.1 type (see clause C.7 of Recommendation ITU T X.681 [i.36]) and map all ASN.1 types to their TDL types according to Table 8.3.1-1. +- InstanceOfType: Replace the INSTANCE OF type with its associated type obtained by substituting INSTANCE OF DefinedObjectClass by its associated ASN.1 type (see clause C.7 of +Recommendation ITU T X.681 and +map all ASN.1 types to their TDL types according to Table 2. ### Examples -8.3.2 -For example, as shown in Figure 8.3.2-1 and Figure 8.3.2-2, for the 'NodeDescriptor' and related type definitions taken from [i.35], a corresponding 'StructuredDataType' is created, -including derived 'DataType's for the nested 'aNode' anonymous 'ContentType', as well as the 'aLink', 'aFile', and 'aDirectory' anonymous 'ContentType's nested further within the -'aNode' 'ContentType'. The 'dataType's for the corresponding 'Members are then set accordingly. The 'DataType' for the 'NodeIdentity' type as well as the derived 'DataType' for the -'aNode' 'Member' are assigned a 'Constraint' with the 'union' 'ConstraintType'. +For example, as shown in Figure 19 and Figure 20, for +the 'NodeDescriptor' and related type definitions taken from +ETSI TS 103 666-1, V15.0.0: Smart Secure Platform (SSP); Part 1: General characteristics (Release 15), + a corresponding 'StructuredDataType' is created, including derived 'DataType's for the nested 'aNode' anonymous 'ContentType', as well as the 'aLink', 'aFile', and 'aDirectory' anonymous + 'ContentType's nested further within the 'aNode' 'ContentType'. The 'dataType's for the corresponding 'Members are then set accordingly. The 'DataType' for the 'NodeIdentity' type as well + as the derived 'DataType' for the 'aNode' 'Member' are assigned a 'Constraint' with the 'union' 'ConstraintType'. -