JSON data types for Qworum, version 1.0

Abstract

This specification defines an XML vocabulary for JSON data types.

Table of contents
  1. Introduction
    1. Purpose
    2. Requirements
  2. Concept
  3. The http://qworum.net/json namespace
  4. Data types
    1. data
  5. Appendices
    1. References
    2. Revision history
    3. Copyright and disclaimer

1. Introduction

1.1. Purpose

The core Qworum specification uses XML [XML] for representing data. Yet XML data can be difficult to manipulate by the programming languages that are used to implement services. In order to address this issue, the present specification leverages the JSON [JSON] specification, and defines a particular XML vocabulary that can easily be deserialized into native programming language constructs.

1.2. Requirements

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [Keywords].

2. Concept

Qworum services MAY use the XML vocabulary defined in the present specification for representing data. Such data MAY be:

3. The http://qworum.net/json namespace

The XML elements defined in this specification have the http://qworum.net/json namespace [XMLnamespaces].

4. Data types

4.1. data

data contains a JSON serialization. Example:


<data xmlns='http://qworum.net/json'>
  {
    "glossary": {
      "title": "example glossary",
      "GlossDiv": {
        "title": "S",
        "GlossList": {
          "GlossEntry": {
            "ID": "SGML",
            "SortAs": "SGML",
            "GlossTerm": "Standard Generalized Markup Language",
            "Acronym": "SGML",
            "Abbrev": "ISO 8879:1986",
            "GlossDef": {
              "para": "A meta-markup language, used to create markup languages such as DocBook.",
              "GlossSeeAlso": ["GML", "XML"]
            },
            "GlossSee": "markup"
          }
        }
      }
    }
  }
</data>

Example 2:


<data xmlns='http://qworum.net/json'>
  89
</data>

5. Appendices

5.1. References

[XML] Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, Fran├žois Yergeau, Extensible Markup Language (XML), W3C Recommendation
[JSON] JSON (JavaScript Object Notation)
[Keywords] Bradner, B., Key words for use in RFCs to Indicate Requirement Levels, RFC 2119
[XMLnamespaces] Tim Bray, Dave Hollander, Andrew Layman, Richard Tobin, Henry S. Thompson, Namespaces in XML 1.0, W3C Recommendation

5.2. Revision history

2012.05.30 Initial release.

5.3. Copyright and disclaimer

© Copyright 2012 Doğa Armangil. All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and these paragraphs are included on all such copies and derivative works. This document may not be modified in any way, such as by removing the copyright notice or references to Doğa Armangil or other organizations.

Any party may implement software that gives user agents the ability to send requests to the Enterprise license validation service, without royalty or license fee to Doğa Armangil.

THIS DOCUMENT AND THE INFORMATION CONTAINED HEREIN IS PROVIDED "AS IS", AND DOĞA ARMANGIL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. FURTHER, DOĞA ARMANGIL WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THIS DOCUMENT.