| 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 | }}} |