| | 1 | = MOLGENIS language definition = |
| | 2 | MOLGENIS is configured using an XML based language: |
| | 3 | * for data model definition use entity, field, unique, and module elements. |
| | 4 | * for user interface design use form, menu, and plugin elements. |
| | 5 | Below the Document Type Definition (DTD) that summarizes MOLGENIS XML structure: |
| | 6 | {{{ |
| | 7 | #!xml |
| | 8 | <?xml version="1.0" encoding="UTF-8"?> |
| | 9 | <!ELEMENT molgenis (description? , (module | entity |form | menu | plugin)*)> |
| | 10 | <!ATTLIST molgenis name CDATA #REQUIRED> |
| | 11 | <!ATTLIST molgenis label CDATA #IMPLIED> |
| | 12 | <!ATTLIST molgenis version CDATA #IMPLIED> |
| | 13 | <!ELEMENT description ANY> |
| | 14 | <!ELEMENT module (description?, entity+)> |
| | 15 | <!ATTLIST module name CDATA #REQUIRED> |
| | 16 | <!ELEMENT entity (description?,field*,unique*)> |
| | 17 | <!ATTLIST entity name CDATA #REQUIRED> |
| | 18 | <!ATTLIST entity abstract (true|false) #IMPLIED> |
| | 19 | <!ATTLIST entity implements CDATA #IMPLIED> |
| | 20 | <!ATTLIST entity extends CDATA #IMPLIED> |
| | 21 | <!ATTLIST entity decorator CDATA #IMPLIED> |
| | 22 | <!ATTLIST entity description CDATA #IMPLIED> |
| | 23 | <!ELEMENT field EMPTY> |
| | 24 | <!ATTLIST field name CDATA #REQUIRED> |
| | 25 | <!ATTLIST field type CDATA #IMPLIED> |
| | 26 | <!ATTLIST field label CDATA #IMPLIED> |
| | 27 | <!ATTLIST field length CDATA #IMPLIED> |
| | 28 | <!ATTLIST field xref_field CDATA #IMPLIED> |
| | 29 | <!ATTLIST field xref_label CDATA #IMPLIED> |
| | 30 | <!ATTLIST field enum_options CDATA #IMPLIED> |
| | 31 | <!ATTLIST field default CDATA #IMPLIED> |
| | 32 | <!ATTLIST field auto (true|false) #IMPLIED> |
| | 33 | <!ATTLIST field nillable (true|false) #IMPLIED> |
| | 34 | <!ATTLIST field unique (true|false) #IMPLIED> |
| | 35 | <!ATTLIST field readonly (true|false) #IMPLIED> |
| | 36 | <!ATTLIST field hidden (true|false) #IMPLIED> |
| | 37 | <!ATTLIST field description CDATA #IMPLIED> |
| | 38 | <!ELEMENT unique EMPTY> |
| | 39 | <!ATTLIST unique fields CDATA #REQUIRED> |
| | 40 | <!ATTLIST unique subclass (true|false) #IMPLIED> |
| | 41 | <!ATTLIST unique description CDATA #IMPLIED> |
| | 42 | <!ELEMENT form (form*,menu*,plugin*)> |
| | 43 | <!ATTLIST form name CDATA #REQUIRED> |
| | 44 | <!ATTLIST form entity CDATA #REQUIRED> |
| | 45 | <!ATTLIST form label CDATA #IMPLIED> |
| | 46 | <!ATTLIST form view (list|record) #IMPLIED> |
| | 47 | <!ATTLIST form readonly (yes|no) #IMPLIED> |
| | 48 | <!ELEMENT menu (form*,menu*,plugin*)> |
| | 49 | <!ATTLIST menu name CDATA #REQUIRED> |
| | 50 | <!ATTLIST menu label CDATA #IMPLIED> |
| | 51 | <!ELEMENT plugin (form*,menu*,plugin*)> |
| | 52 | <!ATTLIST plugin name CDATA #REQUIRED> |
| | 53 | <!ATTLIST plugin type CDATA #REQUIRED> |
| | 54 | <!ATTLIST plugin label CDATA #IMPLIED> |
| | 55 | }}} |