XOXO Datatypes
October 3, 2005 § Leave a comment
This is part of an ongoing discussion about how
to encode scripting data structures in XHTML microformats.
to encode scripting data structures in XHTML microformats.
XHTML Encodings of XML Schema
Datatypes
Datatypes
Using XOXO for encoding data
structures
structures
This documents proposes a standard way to encode
the most common XML Schema Datatypes (specifically, those which are natively
supported by most scripting languages) inside XHTML microformats. An example is
given for a specific application: a platform-independent encoding of Mac OS X
Property Lists.
the most common XML Schema Datatypes (specifically, those which are natively
supported by most scripting languages) inside XHTML microformats. An example is
given for a specific application: a platform-independent encoding of Mac OS X
Property Lists.
Data Types
XML Schema
Datatype |
Mac OS X tag
|
XHTML class/tag
|
xs:string
|
<string>
|
implicit
|
xs:integer
|
<integer>
|
<div
class="integer"></div> |
xs:float
|
<real>
|
<div
class="float"></div> |
xs:double
|
<real>
|
<div
class="double"></div> |
xs:boolean (true)
|
<true/>
|
<div
class="boolean">true</div> |
xs:boolean (false)
|
<false/>
|
<div
class="boolean">false</div> |
xs:dateTime
|
<date>
|
|
xs:base64Binary
|
<data>
|
|
xs:hexBinary
|
N/A
|
Data Structures
Python Container
|
Cocoa Class
|
Mac OS X tag
|
XHTML tag
|
dictionary
|
NSDictionary
|
<dict>
|
<dl>
|
list
|
NSArray
|
|
<ol>
|
set
|
NSSet
|
N/A
|
<ul>
|
list of dictionaries
|
NSTableView
|
N/A
|
<table>
|
Example XOXO-Encoded Property
List
List
Markup
<dl
class="xoxo datatypes">
<dt>NSDictionary</dt>
<dd>Entries</dd>
<dt>Key</dt>
<dd>Value</dd>
<dt>NSArray</dt>
<dd>
<ol>
<li>Item
#1</li>
<li>Item
#2</li>
</ol>
</dd>
<dt>NSString</dt>
<dd>abcd</dd>
<dt>NSNumber
(integer)</dt>
<dd
class="integer">123</dd>
<dt>NSNumber
(floating-point)</dt>
<dd
class="float">123.456</dd>
<dt>NSDate</dt>
<dd
class="dateTime">December 3rd,
1987</abbr></dd>
<dt>NSNumber (BOOL
YES)</dt>
<dd
class="boolean">true</dd>
<dt>NSNumber (BOOL
NO)</dt>
<dd
class="boolean">false</dd>
<dt>NSData</dt>
<dd
class="binary">image/tiff</dd>
</dl>
<dl
class="xoxo datatypes">
<dt>NSDictionary</dt>
<dd>Entries</dd>
<dt>Key</dt>
<dd>Value</dd>
<dt>NSArray</dt>
<dd>
<ol>
<li>Item
#1</li>
<li>Item
#2</li>
</ol>
</dd>
<dt>NSString</dt>
<dd>abcd</dd>
<dt>NSNumber
(integer)</dt>
<dd
class="integer">123</dd>
<dt>NSNumber
(floating-point)</dt>
<dd
class="float">123.456</dd>
<dt>NSDate</dt>
<dd
class="dateTime">December 3rd,
1987</abbr></dd>
<dt>NSNumber (BOOL
YES)</dt>
<dd
class="boolean">true</dd>
<dt>NSNumber (BOOL
NO)</dt>
<dd
class="boolean">false</dd>
<dt>NSData</dt>
<dd
class="binary">image/tiff</dd>
</dl>
Rendering
NSDictionary
Entries
Key
Value
NSArray
NSDictionary
Entries
Key
Value
NSArray
1. Item #1
2. Item
#2
NSString
abcd
NSNumber
(integer)
123
NSNumber
(floating-point)
123.456
NSDate
December
3rd, 1987
NSNumber (BOOL
YES)
true
NSNumber
(BOOL
NO)
false
NSData
image/tiff
#2
NSString
abcd
NSNumber
(integer)
123
NSNumber
(floating-point)
123.456
NSDate
December
3rd, 1987
NSNumber (BOOL
YES)
true
NSNumber
(BOOL
NO)
false
NSData
image/tiff
Leave a Reply