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