root/trunk/spec/null.dbk

Revision 7, 3.8 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      Null 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:null</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>!!null</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            Scalar.
101          </para>
102        </listitem>
103      </varlistentry>
104
105      <varlistentry>
106        <term>
107          <para>
108            Canonical:
109          </para>
110        </term>
111
112        <listitem>
113          <para>
114            <userinput>~</userinput>
115          </para>
116        </listitem>
117      </varlistentry>
118
119      <varlistentry>
120        <term>Regexp:</term>
121        <listitem>
122<screen>
123 ~ <lineannotation># (canonical)</lineannotation>
124|null|Null|NULL <lineannotation># (English)</lineannotation>
125| <lineannotation># (Empty)</lineannotation>
126</screen>
127        </listitem>
128      </varlistentry>
129
130      <varlistentry>
131        <term>Definition:</term>
132        <listitem>
133          <para>
134            Devoid of value.
135          </para>
136
137          <para>
138            A null value is used to indicate the lack of a value. This is
139            typically converted into any native null-like value (e.g.,
140            <userinput>undef</userinput> in Perl, <userinput>None</userinput>
141            in Python). Note that a null is different from an empty string and
142            that a mapping entry with some key and a null value is valid and
143            different from not having that key in the mapping.
144          </para>
145        </listitem>
146      </varlistentry>
147    </variablelist>
148
149    <example>
150      <title><userinput>!!null</userinput> Examples</title>
151<programlisting>
152# A document may be null.
153---
154---
155# This mapping has four keys,
156# one has a value.
157empty:
158canonical: ~
159english: null
160~: null key
161---
162# This sequence has five
163# entries, two have values.
164sparse:
165  - ~
166  - 2nd entry
167  -
168  - 4th entry
169  - Null
170</programlisting>
171    </example>
172  </section>
173</article>
Note: See TracBrowser for help on using the browser.