Merge remote branch 'gvdb/master'
[platform/upstream/glib.git] / gio / gschema.dtd
1 <!ELEMENT schemalist (schema|enum)* >
2 <!ATTLIST schemalist gettext-domain #IMPLIED >
3
4 <!ELEMENT schema (key|child)* >
5 <!ATTLIST schema id             CDATA #REQUIRED
6                  path           CDATA #IMPLIED
7                  gettext-domain CDATA #IMPLIED >
8
9 <!-- defines an enumerated type -->
10 <!-- each value element maps a nick to a numeric value -->
11 <!ELEMENT enum (value*) >
12 <!ATTLIST enum id CDATA #REQUIRED >
13 <!ELEMENT value EMPTY >
14 <!-- nick must be at least 2 characters long -->
15 <!-- value must be parsable as a 32-bit integer -->
16 <!ELEMENT value nick  #REQUIRED
17                 value #REQUIRED >
18
19 <!ELEMENT key (default|summary?|description?|range?|choices?|aliases?) >
20 <!-- name can only contain lowercase letters, numbers and '-' -->
21 <!-- type must be a GVariant type string -->
22 <!-- enum must be the id of an enum that has been defined earlier -->
23 <!-- exactly one of enum or type must be given -->
24 <!ATTLIST key name CDATA #REQUIRED
25               type CDATA #IMPLIED
26               enum CDATA #IMPLIED >
27
28 <!-- the default value is specified a a serialized GVariant,
29      i.e. you have to include the quotes when specifying a string -->
30 <!ELEMENT default (#PCDATA) >
31 <!-- the presence of the l10n attribute marks a default value for
32      translation, its value is the gettext category to use -->
33 <!-- if context is present, it specifies msgctxt to use -->
34 <!ATTLIST default l10n    (messages|time) #IMPLIED
35                   context CDATA           #IMPLIED >
36
37 <!ELEMENT summary (#PCDATA) >
38 <!ELEMENT description (#PCDATA) >
39
40 <!-- range is only allowed for keys with numeric type -->
41 <!ELEMENT range EMPTY >
42 <!-- min and max must be parseable as values of the key type and min < max -->
43 <!ATTLIST range min CDATA #REQUIRED
44                 max CDATA #REQUIRED >
45
46 <!-- choices is only allowed for keys with string or string array type -->
47 <!ELEMENT choices (choice+) >
48 <!-- each choice element specifies one possible value -->
49 <!ELEMENT choice EMPTY >
50 <!ATTLIST choice value CDATA #REQUIRED >
51
52 <!-- aliases is only allowed for keys with enumerated type or with choices -->
53 <!ELEMENT aliases (alias+) >
54 <!-- each alias element specifies an alias for one of the possible values -->
55 <!ELEMENT alias EMPTY >
56 <!ATTLIST alias value CDATA #REQUIRED >
57
58 <!ELEMENT child EMPTY >
59 <!ATTLIST child name   CDATA #REQUIRED
60                 schema CDATA #REQUIRED >