root/trunk/spec/omap.dbk

Revision 7, 4.1 KB (checked in by oren, 8 months ago)

April 06, 2008 draft.

Implemented by YamlReference? 0.9.

Contains new productions, new examples, all the changes collected throughout
the last 3 years, and of course JSON compatibility.

Line 
1<?xml version="1.0"?>
2<!DOCTYPE article
3  PUBLIC "-//OASIS//DTD DocBook V4.2//EN"
4         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6<article>
7  <articleinfo>
8    <title>
9      Ordered Mapping Language-Independent Type for
10      <trademark>YAML</trademark>&nbsp;Version&nbsp;1.1
11    </title>
12
13    <subtitle>
14      Working Draft 2005-01-18
15    </subtitle>
16
17    <authorgroup>
18      <author>
19        <firstname>Oren</firstname>
20        <surname>Ben-Kiki</surname>
21        <email>oren@ben-kiki.org</email>
22      </author>
23
24      <author>
25        <firstname>Clark</firstname>
26        <surname>Evans</surname>
27        <email>cce+yaml@clarkevans.com</email>
28      </author>
29
30      <author>
31        <firstname>Brian</firstname>
32        <surname>Ingerson</surname>
33        <email>ingy@ttul.org</email>
34      </author>
35    </authorgroup>
36
37    <copyright>
38      <year>2001-2005</year>
39      <holder>Oren Ben-Kiki<fo>,&nbsp;</fo></holder>
40      <holder>Clark Evans<fo>,&nbsp;</fo></holder>
41      <holder>Brian Ingerson</holder>
42    </copyright>
43
44    <legalnotice>
45      This document may be freely copied provided it is not modified.
46    </legalnotice>
47
48    <abstract>
49      <title>Status</title>
50
51      <para>
52       This specification is a draft reflecting consensus reached by members of
53       the <ulink
54       url="http://lists.sourceforge.net/lists/listinfo/yaml-core">yaml-core
55       mailing list</ulink>. Any questions regarding this draft should be
56       raised on this list.
57      </para>
58    </abstract>
59  </articleinfo>
60
61  <section>
62    <variablelist>
63      <varlistentry>
64        <term>
65          <para>
66            URI:
67          </para>
68        </term>
69
70        <listitem>
71          <para>
72            <userinput>tag:yaml.org,2002:omap</userinput>
73          </para>
74        </listitem>
75      </varlistentry>
76
77      <varlistentry>
78        <term>
79          <para>
80            Shorthand:
81          </para>
82        </term>
83
84        <listitem>
85          <para>
86            <userinput>!!omap</userinput>
87          </para>
88        </listitem>
89      </varlistentry>
90
91      <varlistentry>
92        <term>
93          <para>
94            Kind:
95          </para>
96        </term>
97
98        <listitem>
99          <para>
100            Sequence.
101          </para>
102        </listitem>
103      </varlistentry>
104
105      <varlistentry>
106        <term>
107          <para>
108            Definition:
109          </para>
110        </term>
111
112        <listitem>
113          <para>
114            Ordered sequence of key:value pairs without duplicates.
115          </para>
116
117          <para>
118            A common type used for modeling is the ordered list of named
119            values, where duplicates are not allowed. For example, this is the
120            basic collection data type used by the PHP language.
121          </para>
122
123          <para>
124            Most programming languages do not have a built-in native data type
125            for supporting ordered maps. Such data types are usually provided
126            by libraries. If no such data type is available, an application may
127            resort to loading an <quote><userinput>!!omap</userinput></quote>
128            into a native array of hash tables containing one key each.
129          </para>
130
131          <para>
132            The <quote><userinput>!!omap</userinput></quote> tag may be given
133            explicitly. Alternatively, the application may choose to implicitly
134            type a sequence of single-key mappings to ordered maps. In this
135            case, an explicit <quote><userinput>!seq</userinput></quote>
136            transfer must be given to sequences of single-key mappings that do
137            not represent ordered maps.
138          </para>
139        </listitem>
140      </varlistentry>
141    </variablelist>
142
143    <example>
144      <title><userinput>!!omap</userinput> Examples</title>
145<programlisting>
146# Explicitly typed ordered map (dictionary).
147Bestiary: !!omap
148  - aardvark: African pig-like ant eater. Ugly.
149  - anteater: South-American ant eater. Two species.
150  - anaconda: South-American constrictor snake. Scaly.
151  # Etc.
152# Flow style
153Numbers: !!omap [ one: 1, two: 2, three : 3 ]
154</programlisting>
155    </example>
156  </section>
157</article>
Note: See TracBrowser for help on using the browser.