rest/datatypes: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
Line 12: Line 12:
|-
|-
! [http://www.w3.org/TR/xmlschema-2/#built-in-datatypes XML Schema]
! [http://www.w3.org/TR/xmlschema-2/#built-in-datatypes XML Schema]
| string || float, double || decimal, integer, etc. ||  boolean || hexBinary, base64Binary || duration, dateTime, date, time || N/A
| string || float, double || decimal, integer, etc. ||  boolean || hexBinary, base64Binary || duration, dateTime, date, time || nil
|-
|-
! [http://ws.apache.org/xmlrpc/types.html XML-RPC]
! [http://ws.apache.org/xmlrpc/types.html XML-RPC]
| string || double || i4, int||  boolean || base64 || dateTime.iso8601 || N/A
| string || double || i4, int||  boolean || base64 || dateTime.iso8601 || nil
|-
|-
! [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]

Revision as of 01:48, 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 null
XML Schema string float, double decimal, integer, etc. boolean hexBinary, base64Binary duration, dateTime, date, time nil
XML-RPC string double i4, int boolean base64 dateTime.iso8601 nil
Mac OS X plists string real integer true, false data date nil
JSON (JavaScript) string number number true, false N/A Date nil
YAML tags str int float bool null (base 64) N/A null
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 (void*)0
Java char, String float, double int, long, short, byte boolean N/A util.Date ?
PHP string float (double) integer boolean array N/A NULL
Perl array scalar scalar scalar array N/A
Python str float, complex int, long bool binascii, base64 time,datetime
Ruby + lib String Float Fixnum, Bignum TrueClass,FalseClass ? Date

Criteria

Proposals

  • TBD

References