aboutsummaryrefslogtreecommitdiff
path: root/spec/core-types.html
diff options
context:
space:
mode:
Diffstat (limited to 'spec/core-types.html')
-rw-r--r--spec/core-types.html786
1 files changed, 786 insertions, 0 deletions
diff --git a/spec/core-types.html b/spec/core-types.html
new file mode 100644
index 00000000..4f757eaf
--- /dev/null
+++ b/spec/core-types.html
@@ -0,0 +1,786 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>Core Types for Context properties</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+ border: 1px solid red;
+*/
+}
+
+body {
+ margin: 1em 5% 1em 5%;
+}
+
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
+}
+
+em {
+ font-style: italic;
+ color: navy;
+}
+
+strong {
+ font-weight: bold;
+ color: #083194;
+}
+
+tt {
+ color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ font-family: sans-serif;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
+}
+
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+
+div.sectionbody {
+ font-family: serif;
+ margin-left: 0;
+}
+
+hr {
+ border: 1px solid silver;
+}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+
+pre {
+ padding: 0;
+ margin: 0;
+}
+
+span#author {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+ font-family: sans-serif;
+}
+
+div#footer {
+ font-family: sans-serif;
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+div#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+div#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+div#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.5em;
+ margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.verseblock > div.content {
+ white-space: pre;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+ border-left: 2px solid silver;
+ padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@media print {
+ div#footer-badges { display: none; }
+}
+
+div#toctitle {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+ color: #527bbd;
+ font-family: sans-serif;
+ font-weight: bold;
+ margin-top: 0.0em;
+ margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock-content {
+ white-space: pre;
+}
+div.verseblock-attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+
+div.exampleblock-content {
+ border-left: 2px solid silver;
+ padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+</head>
+<body>
+<div id="header">
+<h1>Core Types for Context properties</h1>
+</div>
+<h2 id="_fundamental_types">Fundamental types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-value"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>value</strong>
+</dt>
+<dd>
+<p>
+Any representable value.
+</p>
+<div class="paragraph"><p><a id="type-bool"></a></p></div>
+</dd>
+<dt class="hdlist1">
+<strong>bool</strong>
+</dt>
+<dd>
+<p>
+A boolean.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-number"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>number</strong>
+</dt>
+<dd>
+<p>
+A number with in the range indicated by the "min" and
+ "max" parameters. The value is represented as either a
+ "int32", "uint32", "int64", "uint64", or "double".
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-number">number</a>): Lower bound</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-number">number</a>): Upper bound</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-integer"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>integer</strong>
+</dt>
+<dd>
+<p>
+A integer, represented as any of the numeric types. If the value
+ is a "double", it is rounded to an integer, but not necessarily to
+ the nearest. The "min" and "max" parameters, when given, constrain
+ the range of the integer.
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-number">number</a>): Lower bound</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-number">number</a>): Upper bound</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-string"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>string</strong>
+</dt>
+<dd>
+<p>
+A string.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-list"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+A list with elements of the given type and minimum and
+ maximum length given by the "min" and "max" parameters,
+ respectively.
+ <br />
+ When the "type" parameter is omitted, it defaults to
+ "value".
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-integer">integer</a>): Minimum length</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-integer">integer</a>): Maximum length</p></div>
+<div class="paragraph"><p>type (<a href="core-types.html#type-type">type</a>): Element type</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-map"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>map</strong>
+</dt>
+<dd>
+<p>
+A map. The parameters specify the allowed keys in the map.
+ <br />
+ Each parameter is a association tree that describes one
+ possible key. The name of the tree is the key itself, and
+ the second level of the tree can have "doc" and "type"
+ attributes for that key.
+ <br />
+ When the special key name "allow-other-keys" is present,
+ all keys are allowed; otherwise, only the specified keys
+ have any meaning and additional keys are an error.
+ <br />
+ When no parameters are given, all keys are allowed.
+</p>
+<div class="paragraph"><p>rest: The allowed keys</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_generic_types">Generic types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-association-tree"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>association-tree</strong>
+</dt>
+<dd>
+<p>
+A tree made from nested lists, used to associate
+ (hierarchical) keys with values.
+ <br />
+ For example, the association tree
+ <br />
+ [ "foo", [ "bar", 12 ], [ "baz", 42 ] ]
+ <br />
+ associates "foo", "bar" with 12 and "foo", "baz" with 42.
+ <br />
+ Association trees are often used as a simple "Nano DOM" for
+ XML documents.
+ <br />
+ Formally, a association tree is a list whose first element is
+ a string, and whose rest elements are either association
+ trees, or a single value.
+ <br />
+ The "name" of a association tree is the first element of its
+ top-level list.
+ <br />
+ As a special case, a association tree with just a name and no
+ other elements can be abbreviated by just stating the name as
+ a string. E.g., the following two values are equivalent when
+ considered as a association tree:
+ <br />
+ "foo"
+ [ "foo" ]
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-association-list"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>association-list</strong>
+</dt>
+<dd>
+<p>
+A list of association trees.
+</p>
+<div class="paragraph"><p>Base: List of <em><a href="core-types.html#type-association-tree">association-tree</a></em>s</p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-string-enum"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>string-enum</strong>
+</dt>
+<dd>
+<p>
+This is the base type for enumerations of fixed strings. The
+ parameters describe the possible values.
+ <br />
+ Each parameter is a association tree that describes one of
+ the choices. The name of the association tree is the
+ string for the choice itself and the second level of the
+ tree can have a "doc" attribute for that choice.
+</p>
+<div class="paragraph"><p>rest: The possible values</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-string">string</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-int-enum"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>int-enum</strong>
+</dt>
+<dd>
+<p>
+This is the base type for enumerations of fixed integers.
+ The parameters describe the possible values.
+ <br />
+ Each parameter is a association tree that describes one of
+ the choices. The name of the association tree is a
+ symbolic name for the choice itself and the second level
+ of the tree must have a "value" attribute that gives the
+ numerical value of the choice in decimal. A choice can
+ also have a "doc" attribute, of course.
+</p>
+<div class="paragraph"><p>rest: The possible values</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_specific_types">Specific types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-type"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>type</strong>
+</dt>
+<dd>
+<p>
+A reference to a type, consisting of a name and optional
+ parameters.
+ <br />
+ Type references are just association trees: the name of
+ the tree names the referenced type, and the associations
+ of the association tree are the parameters.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-association-tree">association-tree</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-temperature"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>temperature</strong>
+</dt>
+<dd>
+<p>
+A temperature in Kelvin.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+<div class="paragraph"><p>Type parameters:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+min
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+0
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-energy"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>energy</strong>
+</dt>
+<dd>
+<p>
+An amount of energy, in Joule.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-power"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>power</strong>
+</dt>
+<dd>
+<p>
+A power, in Watt.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-time"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>time</strong>
+</dt>
+<dd>
+<p>
+A point in time, represented as the number of nano-seconds since
+ 00:00 January 1, 1970, UTC.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-distance"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>distance</strong>
+</dt>
+<dd>
+<p>
+A physical length between two points, in meters.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-duration"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>duration</strong>
+</dt>
+<dd>
+<p>
+A time duration, in nano-seconds.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-percentage"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>percentage</strong>
+</dt>
+<dd>
+<p>
+A percentage.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+<div class="paragraph"><p>Type parameters:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+min
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+0
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+max
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+100
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-location-source"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>location-source</strong>
+</dt>
+<dd>
+<p>
+Describes a source of location information. Possible values are
+ "satellite", "wlan", "cellular", and "timezone".
+</p>
+<div class="paragraph"><p>Base: Enumeration of <em>string</em>s</p></div>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+satellite
+<br />
+wlan
+<br />
+cellular
+<br />
+timezone
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-tracker-uri"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>tracker-uri</strong>
+</dt>
+<dd>
+<p>
+A URI that names a object in the Tracker object store.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-string">string</a></p></div>
+</dd>
+</dl></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-12-10 16:52:01 EEST
+</div>
+</div>
+</body>
+</html>