root/trunk/spec/pairs.dbk

Revision 7, 4.0 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      Pairs 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:pairs</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>!!pairs</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 allowing duplicates.
115          </para>
116
117          <para>
118            A common type used for modeling is the ordered list of named
119            values, allowing duplicates. For example, this is one of the basic
120            constructs used to model XML data. YAML provides a shorthand
121            notation for representing this data type as a sequence of one-key
122            mappings.
123          </para>
124
125          <para>
126            Most programming languages do not have a built-in native data type
127            for supporting pairs. Such data types are usually provided by
128            libraries. If no such data type is available, an application may
129            resort to loading <userinput>!!pairs</userinput> into a native
130            array of hash tables containing one key each.
131          </para>
132
133          <para>
134            The <userinput>!!pairs</userinput> tag may be given explicitly.
135            Alternatively, the application may choose to implicitly type a
136            sequence of single-key mappings to pairs. In this case, an explicit
137            <userinput>!!seq</userinput> transfer must be given to sequences of
138            single-key mappings that do not represent pairs.
139          </para>
140        </listitem>
141      </varlistentry>
142    </variablelist>
143
144    <example>
145      <title><userinput>!!pairs</userinput> Examples</title>
146<programlisting>
147# Explicitly typed pairs.
148Block tasks: !!pairs
149  - meeting: with team.
150  - meeting: with boss.
151  - break: lunch.
152  - meeting: with client.
153Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
154</programlisting>
155    </example>
156  </section>
157</article>
Note: See TracBrowser for help on using the browser.