W3C

Storage Mapping

A Mappng Between Cloud Storage Elements and Web Storage Items

Final Community Group Specification 25 April 2013

Latest editor's draft:
http://www.sr2u.com/w3c/cloud-strge-20120904.html

Editor:
Russell Potter


Status of This Document

This specification was published by the Cloud Computing Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Final Specification Agreement (FSA) other conditions apply. Learn more about W3C Community and Business Groups.

This specification details a mapping between the Information Items [INFOSET] in a cloud storage element and a set of Web Storage items [STORAGE] key/value pairs. (In this specification, the term "storage element" refers to the former, while the term "storage item" refers to the latter)

In this mapping, the XML content [XML] of a node's top-level "storage" element constitutes the content (excluding nested "storage" sub-elements) of a web storage item having the key: "<root>"

Each nested "storage" element corresponds to a storage item having a key formed from the path [XPATH] (relative to the storage root) in which the element is located, the content of which is formed from the content (also excluding "storage" sub-elements) of the element

Where this storage element has a "storage" attribute, the generated storage item has a name formed from the content of the attribute, whose value is formed from the data resulting from resolving its IRI, encoded in an encoding the MIME encoding [MIME] of which is given in a storage item whose name is formed from concatenating the string ":format" to the value of the attribute (used where the resolved data is non-XML)

Example

The example below consists of an XML encoding of an example "storage" element, followed by the set of corresponding storage items, expressed in a JSON-like [JSON] representation (assuming, in the example, that the IRI "http//www.example.com#data" resolves to the string "abc" having the MIME type "def/ghi")


<storage>
    <a />
    <b />
    <c>
    <storage>
        <d />
    </storage>
    <storage storage=
           "http://www.example.com#data" />
    </c>
</storage>


{
    "<root>":                             "<a /><b /><c></c>",
    "c":                                  "<d />",
    "http://www.example.com#data":        "abc",
    "http://www.example.com#data:format": "def/ghi"
}

References

[JSON]
Douglas Crockford JavaScript Object Notation. July 2006. Internet Engineering Task force Memo. URL: "http://tools.ietf.org/html/rfc2045.txt">http://tools.ietf.org/html/rfc2045.txt
[XML]
Tim Bray; Jean Paoli; C. M. Sperberg-McQueen; Eve Maler; Francois Yergeau Extensible Markup Language (XML) 1.1. 16 August 2006. W3C Recommendation. URL: http://www.w3.org/TR/xml11/">http://www.w3.org/TR/xml11/
[MIME]
N. Freed; N. Borenstein Multipurpose Internet Mail Extensions. November 1996. Internet Engineering Task foce Request For Comments. URL: http://www.ietf.org/rfc/rfc4627.txt
[STORAGE]
Ian Hickson Web Storage. 9 April 2013. W3C Recommendation. URL: http://www.w3.org/TR/webstorage/
[XPATH]
James Clark; XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999. URL: http://www.w3.org/TR/xpath
[INFOSET]
John Cowan; Richard Tobin XML Information Set. 4 February 2004. W3C Recommendation. URL: http://www.w3.org/TR/xml-infoset/