You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our effort to support the ISO 20022 schema, we have found a slight mismatch with Rosetta in the way that a time in a day is specified. In short, the ISO schema allows an optional UTC offset to be specified (e.g., 12:34:00+02:00), whereas the DSL time type only supports local times without an offset, and the CDM uses the principle of business centres and timezones to achieve a similar (but not quite the same) offset behaviour. This issue intents to stimulate discussion on potential solutions to breach this gap.
Context
The ISO auth.030.001.03 schema defines the ISOTime type as a synonym of the xs:time type. The documentation mentions the following:
A particular point in the progression of time in a calendar day expressed in either UTC time format (hh:mm:ss.sssZ), local time with UTC offset format (hh:mm:ss.sss+/-hh:mm), or local time format (hh:mm:ss.sss). These representations are defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.
Note on the time format:
beginning / end of calendar day
00:00:00 = the beginning of a calendar day
24:00:00 = the end of a calendar day
fractions of second in time format
Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
The issue arises when testing our ISO 20022 support with a deserialisation/serialisation roundtrip, i.e.,
XML ISO document --> Rosetta Java object --> XML ISO document
Right now, we loose information about UTC offset. Here are examples where the roundtrip fails:
We need a solution to fully support the ISO standard.
Why simply adding UTC offset information in our time type might not be a good idea
Distinguishing between a local time and a time with an offset, the CDM currently uses the following pattern:
a local times is represented as a value of type time,
a time with an offset is represented as a value of type time accompanied with a BusinessCentreEnum or a string indicating the timezone.
In contrast, the ISO time format joins local time and time with an offset into one, i.e.,
if no time offset indicator is present, it is a local time,
else it is a time with an offset as indicated.
There are two reasons why the CDM's pattern is superior.
The CDM benefits from additional type safety, since it distinguishes between local times and time with an offset on the type level.
As the Wikipedia page on the ISO time format rightfully mentions, just having a UTC offset is not enough to fully specify a time for regions that have daylight saving time.
Discussion is needed
To properly breach this gap, additional analysis is required on the exact usage of the ISOTime type. Guiding questions:
How does ISO handle regions with daylight saving time?
Is there a semantic difference between reporting 12:34:00Z versus reporting 12:34:00?
The text was updated successfully, but these errors were encountered:
In our effort to support the ISO 20022 schema, we have found a slight mismatch with Rosetta in the way that a time in a day is specified. In short, the ISO schema allows an optional UTC offset to be specified (e.g.,
12:34:00+02:00
), whereas the DSLtime
type only supports local times without an offset, and the CDM uses the principle of business centres and timezones to achieve a similar (but not quite the same) offset behaviour. This issue intents to stimulate discussion on potential solutions to breach this gap.Context
The ISO
auth.030.001.03
schema defines theISOTime
type as a synonym of thexs:time
type. The documentation mentions the following:The issue arises when testing our ISO 20022 support with a deserialisation/serialisation roundtrip, i.e.,
Right now, we loose information about UTC offset. Here are examples where the roundtrip fails:
We need a solution to fully support the ISO standard.
Why simply adding UTC offset information in our
time
type might not be a good ideaDistinguishing between a local time and a time with an offset, the CDM currently uses the following pattern:
time
,time
accompanied with aBusinessCentreEnum
or astring
indicating the timezone.In contrast, the ISO time format joins local time and time with an offset into one, i.e.,
There are two reasons why the CDM's pattern is superior.
Discussion is needed
To properly breach this gap, additional analysis is required on the exact usage of the
ISOTime
type. Guiding questions:12:34:00Z
versus reporting12:34:00
?The text was updated successfully, but these errors were encountered: