X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=z39.50%2Fdatetime.asn;fp=z39.50%2Fdatetime.asn;h=2baad1080a06725935b74eefcff7312fc4fd1431;hb=161ec45b40a3ab08e08946c9654ab6fea4604760;hp=0000000000000000000000000000000000000000;hpb=ea114332560c12eaa8daa8de3d127e56d135b3e3;p=yaz-moved-to-github.git diff --git a/z39.50/datetime.asn b/z39.50/datetime.asn new file mode 100644 index 0000000..2baad10 --- /dev/null +++ b/z39.50/datetime.asn @@ -0,0 +1,82 @@ +UserInfoFormat-dateTime +{Z39-50-userInfoFormat dateTime (6)} DEFINITIONS ::= +BEGIN +IMPORTS IntUnit FROM Z39-50-APDU-1995; + +DateTime ::= SEQUENCE{ + date [1] Z3950Date OPTIONAL, + time [2] Z3950Time OPTIONAL + -- one or the other, or both + } + +Z3950Date ::= SEQUENCE{ + year [1] IMPLICIT INTEGER, + -- For "positive" years, i.e. 1 AD or later, supply + -- the absolute year, e.g. If the year is 1995, supply + -- the integer 1995; the value 95 would indicate the + -- year 0095. + -- For "negative" years, e.g. 1 BC or earlier, -1 + -- represents 1 BC, -2 represents 2 BC, etc. Zero is + -- invalid, because there was no year zero. + partOfYear [2] CHOICE{ -- may be omitted if only year is significant + monthAndDay [1] IMPLICIT SEQUENCE{ + month [2] IMPLICIT INTEGER, + -- value 1-12 + day [3] IMPLICIT INTEGER OPTIONAL + -- may be omitted if only year and month + -- are significant. Value 1-31. + }, + julianDay [2] IMPLICIT INTEGER, -- Value 1 - 366. + weekNumber [3] IMPLICIT INTEGER, -- Value 1 - 53. + quarter [4] CHOICE{ + first [1] IMPLICIT NULL, + second [2] IMPLICIT NULL, + third [3] IMPLICIT NULL, + fourth [4] IMPLICIT NULL}, + season [5] CHOICE{ + winter [1] IMPLICIT NULL, + spring [2] IMPLICIT NULL, + summer [3] IMPLICIT NULL, + autumn [4] IMPLICIT NULL} + } OPTIONAL, + flags [3] IMPLICIT SEQUENCE{ + circa [1] IMPLICIT NULL OPTIONAL, + -- if this flag is set then the date is "approximate". + era [2] IMPLICIT CHOICE{ + -- If era occurs, partOfYear should not occur. + decade [1] IMPLICIT NULL, + -- year must be multiple of 10. + -- For example, 1900 refers to + -- the decade covering the years + -- 1900 through 1909. + century [2] IMPLICIT NULL, + -- year must be multiple of 100. + millennium [3] IMPLICIT NULL + -- year must be multiple of 1000. + } OPTIONAL + } OPTIONAL + } + + +Z3950Time ::= SEQUENCE{ + hour [1] IMPLICIT INTEGER, + -- Value 0-23. + minute [2] IMPLICIT INTEGER OPTIONAL, + -- value 0-59. May be omitted when hour only is + -- significant (in which case second and + -- partOfSecond must also be omitted). + second [3] IMPLICIT INTEGER OPTIONAL, + -- value 0-59. May be omitted when only hour, or + -- hour and minute, is significant (in which case + -- partOfSecond must also be omitted). + partOfSecond [4] IMPLICIT IntUnit OPTIONAL, + -- Use Unit System = 'si', Unit type = 'time'; + -- Unit = 'second', with appropriate value and + -- scale factor. + zone [5] CHOICE{ + local [1] IMPLICIT NULL, + utc [2] IMPLICIT NULL, + + utcOffset [3] IMPLICIT INTEGER -- in minutes + }} +END