The Moseycode barcode system is based on storing information in chambers that are accessible through portals. The chamber information is stored in an open, platform independent, XML format. This document lays-out some of the details of its schema. A fuller specification will be published once the format has been developed more fully.
Note that this document assumes a good degree of familiarity with xml.
The key aim of this markup language is to provide an effective way for authors to control the appearance, content and operation of Moseycode portals. In addition to this, the language has been designed to:
<chamber>
<authorship>
<name>
</name>
<title>
</title>
<created timestamp="">
</created>
<modified timestamp="">
</modified>
<location lon="" lat="" ele="">
</location>
<comments>
</comments>
<agents>
<agent namespace="">
</agent>
</agents>
</authorship>
<data>
<tokens>
<token name="" from="" to="" encoding=""/>
</tokens>
<lookups>
<url name="" source=""/>
</lookups>
</data>
<flavors>
<direct/>
<communicate/>
<present/>
<authenticate/>
<interact/>
</flavors>
<content>
<media rel="">
<title>
</title>
<description>
</description>
<image|movie|audio|model url="" width="" height="" size="" rate=""/>
</media>
<contact>
<role organization="">
<fixed-tel>
</fixed-tel>
<mobile-tel>
</mobile-tel>
<email>
</email>
<webpage>
</webpage>
<job-title>
</job-title>
<address>
</address>
</role>
</contact>
<document url="" type="">
</document>
</content>
<display>
<erasure type="" color="">
<loading type="">
<present-style type="">
</display>
</chamber>
A documents authored in the markup language described in below is typically referred to as a chamber document. All elements in a chamber document reside in the namespace:
http://www.moseycode.com/SCHEMA/chamber
At present this is a purely symbolic URL. In what follows, the namespace will be implicit in the stated element names. Though all elements reside in this namespace, no attributes names are namespaced.
The root element of all chamber documents is chamber
. This
element may contain at most one of any of the following elements in any order:
authorship
data
flavors
content
display
The contents of these basic elements is detailed in the sections below.
authorship
In general, all of the information in this section of the document is at the complete discretion of the author. All of the information is optional and need only be as accurate as the author wishes it to be.
The authorship
element may contain at most one of each of the following elements in any order:
name
title
created
timestamp
attribute provides a machine interpretable timestamp for
the date. There is no requirement that these two representations are consistent
and they are both optional. modified
timestamp
attribute provides a machine interpretable timestamp for
the date. There is no requirement that these two representations are consistent
and they are both optional. location
lat
attribute in degrees in the range -90 to +90 (an optional S or N suffix may be used).
The longitude is specified by the lon
attribute in degrees in the range -180 to +180 (an optional E or W suffix may be used).
The elevation is specified by the ele
attribute in meters above sea level.
comments
data
The data
element defines how the data associated with the portal
modifies it. The element may have a revision
attribute that specifies
the URL of a second chamber document that augments the first. The augmenting
document is not permitted to have a data
element.
The data
element contains two types of element, tokens
which are grouped into a tokens
element, and lookups which
are grouped into a lookups
element.
Each token converts a subset of the portal's data bits into a number. They are declared
using a token
element. The attributes of which are:
Lookups convert portal data into textual data by performing requesting data
from a remote server. A number of lookups are possible, but at present only one
is supported: the url
element converts the data associated with the
portal into a URL obtained from the Moseycode lookup service (or an equivalently functioning service).
The url
element supports the following attributes:
flavors
The flavors
element contains the flavors of interaction that
the portal supports; these are contained as sub-elements, the order of these
elements is potentially significant since some devices may not be capable of
supporting multiple flavors and will only support the first declared flavor
whereas other devices may choose to promote the first flavor. The possible
flavor elements are:
content
The content element contains the references to the resources that support the portal's operation. In the case of contacts and documents, it may contain the resources directly. There are three types of resources, that are supported by the following elements:
All of the content elements listed above may feature a rel
attribute
which specifies how the content relates to the barcode. The valid relationships
for an element vary depending on the type of the element. More details about each
content type are given below.
media
A media element can have one of the following relationships to the portal:
logo
– provides a general purpose image (or other media) for the barcode.download
– provides a resource intended for download, not display.author
– provides a media representation of the author.background
– provides imagery to be displayed in the background (or in the case of audio, played in the background).present
– provides media for presentation to the user.Each media
element may contain a title
element which provides
a short title for the media, and a description
element which provides longer
description. The element also contains one or more resource elements. These
are links to resources that can be loaded over the network. In the case where
more than one may be listed, the device will pick just one resource to load for
that media. The choice will be based on the capabilities of the device; a memory
constrained device might choose a smaller resource; a device on which audio has
been muted might choose an audio resource to replace an image resource. The available
resource elements are:
image
video
audio
model
Each type of resource element can support a number of the following attributes. All of which are optional with the exception of the url.
url
width
height
size
document
The document
element has an optional url
attribute that links
to the location of a document on the network. It also has an optional type
attribute that specifies the content type of the document. In the absence of the document
url (or if document is being presented and cannot be loaded), the textual content of the
document
element is used as the content of the document.
A document
element can have one of the following relationships to the portal:
direct
– specifies a network location to which the user should be directed.present
– specifies that the document should be directly displayed to the user. Not fully supported at present.contact
A contact
element stores the contact details of an individual.
The element has a name
attribute that gives the name of the contact.
All other details are separated into role
elements contained within
the contact
element. These role
elements have an attribute
called organization
that records an organization with which the person
is associated. Absence of an organization is taken to imply that the contact details
are personal 'home' details. Each role can contain at most one of following elements:
fixed-tel
mobile-tel
email
webpage
job-title
address
A contact
element can have one of the following relationships to the portal:
author
– indicates that the contact details relate to the author of the portal.communicate
– specifies that the user should be given the option of making direct contact.display