1 <!-- xscreensaver, Copyright (c) 2001-2005 Jamie Zawinski <jwz@jwz.org> -->
3 Permission to use, copy, modify, distribute, and sell this software and its
4 documentation for any purpose is hereby granted without fee, provided that
5 the above copyright notice appear in all copies and that both that
6 copyright notice and this permission notice appear in supporting
7 documentation. No representations are made about the suitability of this
8 software for any purpose. It is provided "as is" without express or
12 This DTD validates the format of the XScreenSaver configuration files.
14 The DTD will not be devloped further, as the .XSD style validation
15 can already check more of the details of the config files.
17 DTD written by Andrew Thompson <andrewthommo@gmail.com>
19 <!-- XScreenSaver settings config file. - DTD version 1.0 -->
21 ((command|fullcommand)*,
22 (boolean|number|select|string|file|hgroup|vgroup)*,
26 _label CDATA #REQUIRED
29 <!-- Every XScreenSaver hack has exactly one of either command or fullcommand -->
30 <!ELEMENT command EMPTY>
36 <!-- One of either arg-set or arg-unset is required -->
37 <!ELEMENT boolean EMPTY>
40 _label CDATA #REQUIRED
41 arg-set CDATA #IMPLIED
42 arg-unset CDATA #IMPLIED
45 <!-- Slider and Spin Button -->
46 <!-- _low/high-label not required for type spinbutton -->
47 <!-- arg must end with ' %' -->
48 <!ELEMENT number EMPTY>
51 type (slider|spinbutton) #REQUIRED
52 _label CDATA #REQUIRED
53 _low-label CDATA #IMPLIED
54 _high-label CDATA #IMPLIED
58 default CDATA #REQUIRED
59 convert (invert) #IMPLIED
62 <!-- Drop-down list -->
63 <!ELEMENT select (option+)>
69 <!ELEMENT option EMPTY>
72 _label CDATA #REQUIRED
73 arg-set CDATA #IMPLIED
76 <!-- String or Textual input -->
77 <!-- arg must end with ' %' -->
78 <!ELEMENT string EMPTY>
81 _label CDATA #REQUIRED
85 <!-- File browser. -->
86 <!-- arg must end with ' %' -->
90 _label CDATA #REQUIRED
94 <!-- Free Text. The description of the Screen Saver. -->
95 <!ELEMENT _description (#PCDATA)>
97 <!-- Horizontal grouping element, a row of widgets.
98 Unimplemented in SaverBeans as of API 0.2. -->
99 <!ELEMENT hgroup ((boolean|number|select|string|file|vgroup)*)> <!-- Undocumented -->
101 <!-- Vertical grouping element, a column of widgets.
102 Since the widgets are normally arranged in a column,
103 this is only of use within an hgroup.
104 Unimplemented in SaverBeans as of API 0.2. -->
105 <!ELEMENT vgroup ((boolean|number|select|string|file|hgroup)*)> <!-- Undocumented -->