...
Format Name | Schema Datatype | Allowed String Pattern |
integer | xs:integer | -?digit+ |
positiveInteger | xs:positiveInteger | +?digit+ (and representing an integer number > 0) |
nonNegativeInteger | xs:nonNegativeInteger | +?digit+ (and representing an integer number >= 0) |
decimal | xs:decimal | -?digit+(.digit+)? |
float | xs:float | [\+\-]?\digit*\.?\digit+(?:[Ee][\+\-]?\digit+)? |
double | xs:double | [\+\-]?\digit*\.?\digit+(?:[Ee][\+\-]?\digit+)? |
date | xs:date | YYYY-MM-DD |
time | xs:time | hh:mm:ss(.n+)? (((+|-)hh:mm)|Z)? |
datetime | xs:dateTime | YYYY-MM-DDThh:mm:ss(.n+)?(((+|-)hh:mm)|Z)? |
text | xs:string | any sequence of characters |
value | xs:string | any sequence of characters |
oid | xs:string | any sequence of characters (minLength="1") |
oidref | xs:string | any sequence of characters (minLength="1") |
ID | xs:ID | any sequence of characters (minLength="1") |
IDREF | xs:IDREF | any sequence of characters (minLength="1") |
subjectKey | xs:string | any sequence of characters (minLength="1") |
repeatKey | xs:string | any sequence of characters (minLength="1") |
name | xs:string | any sequence of characters (minLength="1") |
sasName | xs:string | ( letter | _ )( letter | digit | _ )* (maxLength="8") |
sasFormat | xs:string | ( letter | _ | $ )( letter | digit | _ | . )* (maxLength="8") |
fileName | xs:anyURI | any sequence of characters |
languageTag | xs:language | LL (-CC)* (see below) |
string | xs:string | Semantically equivalent to text but directly supported as XML Schema datatype |
boolean | xs:boolean | (true | false | 1 | 0) |
hexBinary | xs:hexBinary | hex-encoded binary stream data |
base64Binary | xs:base64Binary | binary stream encoded using Base64 Alphabet |
hexFloat | xs:hexBinary | up to 16 characters |
base64Float | xs:base64Binary | up to 12 characters |
partialDate | xs:date xs:gYearMonth xs:gYear | [YYYY[-MM[-DD ]]] |
partialTime | xs:time xs:string | [hh[:mm[:ss(.n+)? (((+|-)hh:mm)|Z)?]]] |
partialDatetime | xs:dateTime xs:string | [YYYY[-MM[-DD[T hh[:mm[:ss(.n+)? ((+|-)hh:mm)?]]]]]] |
intervalDatetime | xs:string | partialDatetime/partialDatetime)|(durationDatetime/partialDatetime)|(partialDatetime/durationDatetime) |
durationDatetime | xs:duration xs:string | (((+|-)?P((((n(n+)?)Y)?((nn+)?)M)?((nn+)?)D)?)(T(((n(n+)?)H)?((n(n+)?)M)?((n(n+)?)((\.n+)?)S)?)?)?|(((n(n+)?)W)))) |
incompleteDatetime | xs:dateTime xs:string | [YYYY|-]-[MM |-]-[DD|-]]]T[hh|-]:[mm|-]:[ss.s|-][?(+|-)nn:nn|Z] |
incompleteDate | xs:date xs:gYearMonth xs:gYear xs:string | [YYYY|-]-[MM |-]-[DD|-] |
incompleteTime | xs:time xs:string | T[hh|-]:[mm|-]:[ss.s|-][?(+|-)nn:nn|Z] |
URI | xs:anyURI |
...
Info | |||||||||
---|---|---|---|---|---|---|---|---|---|
Example: 3:14 pm on 3 January 2001 in Chicago (6 timezones west of Greenwich, standard time) would be represented as "2001-01-03T15:14:00-06:00". 3.5 seconds after midnight on the morning of July 20th 2001 in Chicago (daylight time) would be represented as "2001-07-20T00:00:03.500-05:00".
The intervalDatetime format is represented as a pair of partialDatetime values representing the beginning and end of the time interval, a beginning partialDatetime and a durationDatetime, or a durationDatetime and an ending partialDatetime separated by a slash (refer to "Representation of time-interval identified by its start and its end", "Representation of time-interval identified by its start and its duration", and "Representation of time-interval identified by its duration and its end" respectively). The durationDatetime data format is represented as an ISO 8601 duration (refer to "Representation of time-interval by duration only") . For example, 4 hours and 35 minutes is represented as PT4H35M. In the ODM implementation, carry-over of individual component values and negative durations are supported. The incompleteDatetime format enables transmission of datetime values where one or more of the components -- not necessarily of lower significance -- is missing. The full set of delimiters is used as for a complete datetime, the missing component(s) are represented by a single dash (refer to "Truncated Representations"). In the ODM implementation, most meaningful partialDatetime forms are also supported. For example, 5 minutes after an unknown hour on the 15th day of an unknown month in 2004 is represented as 2004---15T-:05. The incompleteDate format enables transmission of date values where one or more of the components -- not necessarily of lower significance -- is missing. The full set of delimiters is used as for a complete date, the missing component(s) are represented by a single dash (refer to "Truncated Representations"). The incompleteTime format enables transmission of time values where one or more of the components -- not necessarily of lower significance -- is missing. The full set of delimiters is used as for a complete time, the missing component(s) are represented by a single dash (refer to "Truncated Representations"). The hexFloat and base64Float data formats are binary types intended for precise exchange of floating-point data in a machine/platform independent manner. The types are based on the IBM Mainframe format used in SAS V5 Transport format -- described in the SAS Technical Support document "TS-140 The Record Layout of a Data set in SAS Transport (XPORT) Format"
Note: Data values transmitted as hexFloat or Base64Float will not be humanly readable in an XML markup or by a standard XML authoring tool. For this reason, the decision to use these types implies that an application will be needed to process data received in this format. Values for hexFloat and hexBinary data are encoded as character tuples consisting of two hexadecimal digits ([0-9A-F]). Values for base64Binary data are encoded using the 65 characters of the Base64Alphabet. These include a-z, A-Z, 0-9, +, /, = and the whitespace characters defined in [XML 1.0 (Fift Fifth Edition)]. | |||||||||
server | Issue Tracker (JIRA) | 85506ce4-3cb3-3d91-85ee-f633aaaf4a45 | |||||||
key | ODM2DEV-30 |
...
A name is intended to be a human readable name for some entity. Names are non-empty strings.A sasName (or sasFormat) is any valid SAS Version 5 Transport Format name (or format). These are limited to 8 characters in length.
A fileName designates a file. File names are system dependent, and expressed relative to the directory that contains the ODM file being processed. FileNames are non-empty strings.
...