grass-gxm.dtd 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <!-- grass-gxm.dtd
  2. Copyright (C) 2010 by the GRASS Development Team
  3. Author: Martin Landa <landa.martin gmail.com>
  4. This program is free software under the GPL (>=v2)
  5. Read the file COPYING coming with GRASS for details.
  6. -->
  7. <!--
  8. grass-gxm defines model file content
  9. -->
  10. <!ELEMENT grass-gxm (gxm)>
  11. <!ELEMENT gxm (action*, data*, loop*, properties?, variables?)>
  12. <!-- an action defines action properties (usually GRASS modules)
  13. -->
  14. <!ELEMENT action (task)>
  15. <!ATTLIST action id CDATA #REQUIRED>
  16. <!ATTLIST action name CDATA #REQUIRED>
  17. <!ATTLIST action pos CDATA #REQUIRED>
  18. <!ATTLIST action size CDATA #REQUIRED>
  19. <!-- a task describes the interface of a single
  20. GRASS command
  21. -->
  22. <!ELEMENT task (flag*, parameter*, disabled?)>
  23. <!ATTLIST task name CDATA #REQUIRED>
  24. <!-- defines task to be enabled/disabled
  25. -->
  26. <!ELEMENT disabled EMPTY>
  27. <!-- a parameter must have a name and a value
  28. -->
  29. <!ELEMENT parameter (value, parameterized?)>
  30. <!ATTLIST parameter name CDATA #REQUIRED>
  31. <!-- value of parameter
  32. -->
  33. <!ELEMENT value (#PCDATA)>
  34. <!-- parameterized
  35. -->
  36. <!ELEMENT parameterized EMPTY>
  37. <!-- enabled flag
  38. -->
  39. <!ELEMENT flag EMPTY>
  40. <!ATTLIST flag name CDATA #REQUIRED>
  41. <!ATTLIST parameterized (0|1) #IMPLIED>
  42. <!-- a data defines data properties (usually data layers)
  43. -->
  44. <!ELEMENT data (data-parameter, intermediate?, relation*)>
  45. <!ATTLIST data pos CDATA #REQUIRED>
  46. <!ATTLIST data size CDATA #REQUIRED>
  47. <!-- a data-parameter defines data items properties
  48. -->
  49. <!ELEMENT data-parameter (value)>
  50. <!ATTLIST data-parameter prompt CDATA #REQUIRED>
  51. <!-- a data intermediate?
  52. -->
  53. <!ELEMENT intermediate EMPTY>
  54. <!-- a relation defines relation between data and actions
  55. -->
  56. <!ELEMENT relation (point*)>
  57. <!ATTLIST relation id CDATA #REQUIRED>
  58. <!ATTLIST relation dir (from | to) #REQUIRED>
  59. <!ATTLIST relation name CDATA #REQUIRED>
  60. <!-- a point defines control point of linear shape
  61. -->
  62. <!ELEMENT point (x, y)>
  63. <!ELEMENT x (#PCDATA)>
  64. <!ELEMENT y (#PCDATA)>
  65. <!-- a properties describes model properties
  66. -->
  67. <!ELEMENT properties (name?, description?, author?, flag*)>
  68. <!ELEMENT name (#PCDATA)>
  69. <!ELEMENT description (#PCDATA)>
  70. <!ELEMENT author (#PCDATA)>
  71. <!-- a variable describes model variable
  72. -->
  73. <!ELEMENT variables (variable*)>
  74. <!ELEMENT variable (description?, value?)>
  75. <!ATTLIST variable name CDATA #REQUIRED>
  76. <!ATTLIST variable type (integer | float | string) #REQUIRED>
  77. <!-- a loop describes model loops
  78. -->
  79. <!ELEMENT loop (condition)>
  80. <!ELEMENT condition (#PCDATA)>