rest/datatypes: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(→‎Examples: Java, SQL)
Line 4: Line 4:
== Examples ==
== Examples ==


These are the primary datatypes in a range of different languages and formats.
These are the primary datatypes in a range of different languages and formats.  Note that we are only concerned with "primitive" datatypes (loosely defined), as structured datatypes (list/array, hash/dictionary) are handled by [[xoxo]].


{| border="1" cellpadding="2"
{| border="1" cellpadding="2"
|+Datatype usage in various languages
|+Datatype comparison table
|-
|-
! Language/format !! string !! float !!  integer !! boolean !! data || date/time
! Language/format !! string !! float !!  integer !! boolean !! data || date/time
Line 19: Line 19:
! [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html Mac OS X plists]
! [http://developer.apple.com/documentation/Cocoa/Conceptual/PropertyLists/Concepts/XMLPListsConcept.html Mac OS X plists]
| string || real || integer || true, false || data ||  date
| string || real || integer || true, false || data ||  date
|-
! [http://www.sysprog.net/ctype.html C]
| char* || float, double || int, long, short ||  byte || void* || N/A
|-
|-
! [http://www.crockford.com/JSON JSON] (JavaScript)
! [http://www.crockford.com/JSON JSON] (JavaScript)
Line 28: Line 25:
! [http://yaml.org/spec/current.html#id2503753 YAML] tags
! [http://yaml.org/spec/current.html#id2503753 YAML] tags
| str || int || float ||  bool || null (base 64) || N/A
| str || int || float ||  bool || null (base 64) || N/A
|-
! [http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/mapping.html#table1 SQL (JDBC)]
| char,varchar || float, double, real || decimal, numeric || bit || binary || date, time, timestamp
|-
! [http://www.sysprog.net/ctype.html C]
| char* || float, double || int, long, short ||  byte || void* || N/A
|-
! [http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html Java]
| char, String || float, double || int, long, short, byte ||  boolean || N/A || util.Date
|-
|-
|}
|}

Revision as of 01:27, 9 January 2006

Datatypes in HTML

One of the challenges of using HTML as a data transport is that everything, by default, is a string. This page explores ways to use microformats -- specifically, class names -- to encode data type information, e.g., for use with xoxo and rest/ahah, in order to allow lossless import/export from various languages.

Examples

These are the primary datatypes in a range of different languages and formats. Note that we are only concerned with "primitive" datatypes (loosely defined), as structured datatypes (list/array, hash/dictionary) are handled by xoxo.

Datatype comparison table
Language/format string float integer boolean data date/time
XML Schema string float, double decimal, integer, etc. boolean hexBinary, base64Binary duration, dateTime, date, time
XML-RPC string double i4, int boolean base64 dateTime.iso8601
Mac OS X plists string real integer true, false data date
JSON (JavaScript) string number number true, false N/A Date
YAML tags str int float bool null (base 64) N/A
SQL (JDBC) char,varchar float, double, real decimal, numeric bit binary date, time, timestamp
C char* float, double int, long, short byte void* N/A
Java char, String float, double int, long, short, byte boolean N/A util.Date

Criteria

Proposals

  • TBD

References