cleanup
[platform/upstream/glib.git] / gio / gschema.dtd
index 9f7bcd7..00e3a16 100644 (file)
@@ -1,16 +1,37 @@
-<!ELEMENT schemalist (schema*) >
-<!ATTLIST schemalist gettext-domain #IMPLIED >
+<!ELEMENT schemalist (schema|enum)* >
+<!ATTLIST schemalist gettext-domain CDATA #IMPLIED >
 
-<!ELEMENT schema (key|child)* >
+<!ELEMENT schema (key|child|override)* >
 <!ATTLIST schema id             CDATA #REQUIRED
                  path           CDATA #IMPLIED
-                 gettext-domain CDATA #IMPLIED >
+                 gettext-domain CDATA #IMPLIED
+                 extends        CDATA #IMPLIED
+                 list-of        CDATA #IMPLIED >
 
-<!ELEMENT key (default|summary?|description?|range?|choices?) >
+<!-- enumerated and flags types -->
+<!-- each value element maps a nick to a numeric value -->
+<!ELEMENT enum (value*) >
+<!ATTLIST enum id CDATA #REQUIRED >
+
+<!ELEMENT flags (value*) >
+<!ATTLIST flags id CDATA #REQUIRED >
+
+<!ELEMENT value EMPTY >
+<!-- nick must be at least 2 characters long -->
+<!-- value must be parsable as a 32-bit integer -->
+<!ATTLIST value nick  CDATA #REQUIRED
+                value CDATA #REQUIRED >
+
+<!ELEMENT key (default|summary?|description?|range?|choices?|aliases?)* >
 <!-- name can only contain lowercase letters, numbers and '-' -->
 <!-- type must be a GVariant type string -->
-<!ATTLIST key name CDATA #REQUIRED
-              type CDATA #REQUIRED >
+<!-- enum must be the id of an enum type that has been defined earlier -->
+<!-- flags must be the id of a flags type that has been defined earlier -->
+<!-- exactly one of type, enum or flags must be given -->
+<!ATTLIST key name  CDATA #REQUIRED
+              type  CDATA #IMPLIED
+              enum  CDATA #IMPLIED
+              flags CDATA #IMPLIED >
 
 <!-- the default value is specified a a serialized GVariant,
      i.e. you have to include the quotes when specifying a string -->
 <!ELEMENT summary (#PCDATA) >
 <!ELEMENT description (#PCDATA) >
 
-<!ELEMENT range (min,max)  >
-<!ELEMENT min (#PCDATA) >
-<!ELEMENT max (#PCDATA) >
+<!-- range is only allowed for keys with numeric type -->
+<!ELEMENT range EMPTY >
+<!-- min and max must be parseable as values of the key type and min < max -->
+<!ATTLIST range min CDATA #REQUIRED
+                max CDATA #REQUIRED >
 
+<!-- choices is only allowed for keys with string or string array type -->
 <!ELEMENT choices (choice+) >
-<!ELEMENT choice (alias?) >
+<!-- each choice element specifies one possible value -->
+<!ELEMENT choice EMPTY >
 <!ATTLIST choice value CDATA #REQUIRED >
-<!ELEMENT choice (alias?) >
+
+<!-- aliases is only allowed for keys with enumerated type or with choices -->
+<!ELEMENT aliases (alias+) >
+<!-- each alias element specifies an alias for one of the possible values -->
 <!ELEMENT alias EMPTY >
 <!ATTLIST alias value CDATA #REQUIRED >
 
 <!ELEMENT child EMPTY >
 <!ATTLIST child name   CDATA #REQUIRED
                 schema CDATA #REQUIRED >
+
+<!ELEMENT override (#PCDATA) >
+<!ATTLIST override name    CDATA #REQUIRED
+                   l10n    CDATA #IMPLIED
+                   context CDATA #IMPLIED >