123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- <!-- grass-interface.dtd
- Copyright (C) 2000-2007 by the GRASS Development Team
- Author: Jan-Oliver Wagner <jan intevation.de>
-
- Changes:
- 2007-10 by Martin Landa <landa.martin gmail.com>
- * added keywords element
- * added name element (fix for value element)
- 2007-04 by Daniel Calvelo <dca.gis gmail.com>
- * added guisection element
- * added name-description pair for value sets
- 2001-06-07 by Eric G. Miller <egm2 jps.net>
- * make <parameter-group> optional
- * move descriptions first, always optional
- * make <default> optional // Should it reference <value> ?
-
- 2001-07-09:
- * Make an explicit flag element
- * make keydesc and gispropmpt elements
- * move elements directly under "task"
- This program is free software under the GPL (>=v2)
- Read the file COPYING coming with GRASS for details.
- -->
- <!-- a grass-interface collect several tasks to
- customize a grass application.
- -->
- <!ELEMENT grass-interface (description? , task+)>
- <!ATTLIST grass-interface name CDATA #REQUIRED>
- <!-- a task describes the interface of a single
- GRASS command. It may consist of several
- groups of parameters. Grouping is only for
- semantic purposes in the (G)UI.
- The task may optionally have a description.
- The name of the task is the identifier
- for the GRASS command and is used
- to execute the task.
- -->
- <!ELEMENT task (description?, keywords?, parameter*, flag*, parameter-group*)>
- <!ATTLIST task name CDATA #REQUIRED>
- <!-- a parameter-group may be associated with a name,
- but the name is not necessary for running a
- GRASS command.
- The group consists of a number of parameters
- and may optionally have a description.
- -->
- <!ELEMENT parameter-group (description?, parameter*, flag*)>
- <!ATTLIST parameter-group name CDATA #IMPLIED>
- <!-- a parameter must have a name and a description.
- the name is the parameter identifier when calling
- the command.
- A default may be provided. values can be given
- as parameter options.
- Parameters can be optional and in that case can be
- ignored executing the task when not entered in the (G)UI.
- Any parameter has one of these (default is string):
- string : a string parameter.
- integer : a numeric integer parameter.
- float : a numeric float parameter.
- If multiple is "yes", then many values for the
- parameter may be given in a comma-seperated list
- -->
- <!ELEMENT parameter (description?, keydesc?, gisprompt?, default?, values?, guisection?)>
- <!ATTLIST parameter name CDATA #REQUIRED
- type (string | integer | float) "string"
- required (yes | no) "no"
- multiple (yes | no) "no">
- <!-- The "keydesc" defines a tuple for input, such as "x,y".
- The program expects a comma separated list with matching
- count of items (or multiples thereof, if multiple is true).
- -->
- <!ELEMENT keydesc (item+)>
- <!-- An "item" is a value for a tuple of keydesc.
- It must have an "order" attribute, to insure sort ordering
- -->
- <!ELEMENT item (#PCDATA)>
- <!ATTLIST item order CDATA #REQUIRED>
- <!-- The "gisprompt" is a three part description, used for map elements
- and files. It consists of a comma separated list of
- "age,element,prompt". "Age" is "new | old | any"; "element" is
- a grass map element such as "dig", and "prompt" is what to present
- to the user in a prompt, such as "vector"
- -->
- <!ELEMENT gisprompt EMPTY>
- <!ATTLIST gisprompt age (any | old | new | mapset) #REQUIRED
- element (cell | fcell | cellhd | cats | colr |
- colr2 | cell_misc | hist | paint |
- group | vector | windows | CDATA) #REQUIRED
- prompt CDATA #REQUIRED>
- <!-- A flag must have a name and should have a description.
- It's a toggle that is off by default
- -->
- <!ELEMENT flag (description?)>
- <!ATTLIST flag name CDATA #REQUIRED>
-
- <!-- a default of a parameter. Hopefully it does correspond
- with the parameter type. How to set up rules for that
- (same problem for <value>)?
- -->
- <!ELEMENT default (#PCDATA)>
- <!-- the GUI section where the parameter would appear
- -->
- <!ELEMENT guisection (#PCDATA)>
- <!-- contains a number of single values. Values may have name and description.
- -->
- <!ELEMENT values (value+)>
- <!-- a potential value for a parameter. Hopefully
- it does correpond to the parameter type.
- How to set up rules for that (same problem for
- <default>)?
- -->
- <!ELEMENT value (name, description?)>
- <!ELEMENT name (#PCDATA)>
- <!-- common elements -->
- <!-- text that describes a grass-interface, task,
- parameter-group or parameter.
- -->
- <!ELEMENT description (#PCDATA)>
- <!-- list of keywords that describes a task
- -->
- <!ELEMENT keywords (#PCDATA)>
- <!-- option inter-dependency rules
- -->
- <!ELEMENT rules (rule+)>
- <!-- an option inter-dependency rule
- -->
- <!ELEMENT rule (rule-flag*, rule-option*)>
- <!ATTLIST rule type (exclusive | required | requires | requires-all |
- excludes | collective) #REQUIRED>
- <!-- a flag name
- -->
- <!ELEMENT rule-flag EMPTY>
- <!ATTLIST rule-flag key CDATA #REQUIRED>
- <!-- an option name
- -->
- <!ELEMENT rule-option EMPTY>
- <!ATTLIST rule-option key CDATA #REQUIRED>
|