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