POSC Specifications
EXPRESS Projection Methods

EXPRESS Projection Methods

The following table specifies the suffix used for the attribute components of each projected type. A domain rule was constructed in order to validate each set of projected attributes. These domain rules utilized a predefined function (e.g., quantity_valid). Precision constraints were hard coded into each REAL value. Other constraints were included in the function arguments. Existing domain rules that referenced the original attribute using the EXISTS function were modified to reference a single mandatory component of the type. The few existing domain rules that compared the equality of attribute values were hand modified.

For geometry types, the underlying type was converted to an entity, the attribute was converted to an relationship to the new (type) entity and a domain rule (utilizing the predefined function geom_param_valid) was added to insure that the parameter values were valid in the (type) entity.

Meta Type Meta Element Projected Type Projected Suffix Optionality Within Type
complex real_part real(precision) REAL M
imaginary_part real(precision) IMAGINARY M
rational numerator integer NUMERATOR M
denominator integer DENOMINATOR M
ratio numerator real(precision) NUMERATOR M
denominator real(precision) DENOMINATOR M
money currency_value integer VALUE M
currency_unit ref_unit_of_measure UNIT M
subvalue LIST[1:10] OF integer SUBVALUE  
location system coordinate_system SYSTEM M
origin vertex ORIGIN  
ordinal_value LIST[1:20] OF real(precision) ORDINAL M
ordinal_unit LIST[1:20] OF ref_unit_of_measure UNIT M
minute_value ARRAY[1:20] OF OPTIONAL integer MINUTE  
second_value ARRAY[1:20] OF OPTIONAL real(precision-5) SECOND  
date year integer YEAR M
month integer MONTH M
day integer DAY M
time hour integer HOUR M
minute integer MINUTE M
second real(precision) SECOND M
offset_hour integer OFFSETHOUR M
offset_minute integer OFFSETMINUTE M
timestamp content_code emi_timestamp_content CODE M
year real(6) YEAR M
year_part integer PART  
day integer DAY  
hour integer HOUR  
minute integer MINUTE  
second real(precision) SECOND  
offset_hour integer OFFSETHOUR  
offset_minute integer OFFSETMINUTE  
yearmonthinterval years integer YEARS M
months integer MONTHS M
daytimeinterval day integer DAY M
hour integer HOUR M
minute integer MINUTE M
second real(precision) SECOND M
quantity quantity_value real(precision) VALUE M
quantity_unit ref_unit_of_measure UNIT M
anyquantity quantity_value real(precision) VALUE M
quantity_unit ref_unit_of_measure UNIT M
quantity_type ref_quantity_type TYPE M
angle quantity_value real(precision) VALUE M
quantity_unit ref_unit_of_measure UNIT M
minute_value integer MINUTE  
second_value real(precision-5) SECOND