Hi Bob,

On Jan 5, 2006, at 6:00 PM, Bob Ippolito wrote:
http://opendarwin.org/~drernie/C499496031/E20051026153908/index.html

Well you didn't say you were speaking of something other than the mainline XOXO :) Given that extension, yes, there is certainly a complete mapping from JSON to XOXO... not quite the other way around though. JSON has no representation for data, date, or set and list-of-dicts would be lossy.

I think there's too much TMTOWTDI in your spec though.

One of the things about microformats (in case you hadn't learned how the game is played here :-) is to try to follow existing conventions as much as possible. In this case, I started with Mac OS X plists, and moved to XML Schema Datatypes:

http://www.w3.org/TR/xmlschema-2/#built-in-datatypes

Yes, it is somewhat complex, but it is a well-defined standard. I'm certainly open to doing something simpler, but I'd want to have some reasonably strong precedent, so it doesn't just become personal taste. I do like the idea of defaulting to a generic, high-precision 'number' class, especially since it is easy to specialize using multiple classes.

I personally like the Mac OS X plist typing (number, data, etc.), but I don't know if that's normative enough to drive a web standard.

Tantek, Kevin -- I feel it is time to start capturing this concept on the wiki somewhere, as there appears to be sufficient demonstrated interest in using xoxo in this manner, and it would be good to do the research and normalize something. So its not just something created over beers in an Indian restaurant last month...

Where would be the optimal place? Off the main xoxo page, or under the rest section? Can you suggest a good page title?

Thanks,

-- Ernie P.



I'd drop double, float, and integer in place of a single number type: let's call it number. The recommended implementation for Number would be a 64-bit floating point number (C double). This is parity with JavaScript's Number type, Python's float, etc. and has enough bits to represent any number in either of your three types. I'd also explicitly specify what to do with Inf, -Inf, and NaN; either make them invalid to have in a document, or represented as strings in some way. If valid, the aforementioned spellings are convenient because that's what JavaScript understands.

hexBinary should go. There's no particularly good reason to have it there. base64 is more compact and widely available anyway. base64Binary should be renamed to simply data. Note also that your hexBinary example actually has a base64 payload ;)

dateTime should be renamed to datetime (or timestamp) and its payload must either be in the date (YYYY-MM-DD) or UTC designator format (YYYY-MM-DDThh:mm:ss.sZ) to make implementations simpler. I'd wager that people are prone to forget to capitalize it; especially given that everything in XHTML and all of the other types (now, anyway), are entirely lowercase.

-bob

_______________________________________________
microformats-rest mailing list
[email protected]
http://microformats.org/mailman/listinfo/microformats-rest

Reply via email to