Version 1 (modified by 15 years ago) (diff) | ,
---|
MOLGENIS language definition
MOLGENIS is configured using an XML based language:
- for data model definition use entity, field, unique, and module elements.
- for user interface design use form, menu, and plugin elements.
Below the Document Type Definition (DTD) that summarizes MOLGENIS XML structure:
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT molgenis (description? , (module | entity |form | menu | plugin)*)> <!ATTLIST molgenis name CDATA #REQUIRED> <!ATTLIST molgenis label CDATA #IMPLIED> <!ATTLIST molgenis version CDATA #IMPLIED> <!ELEMENT description ANY> <!ELEMENT module (description?, entity+)> <!ATTLIST module name CDATA #REQUIRED> <!ELEMENT entity (description?,field*,unique*)> <!ATTLIST entity name CDATA #REQUIRED> <!ATTLIST entity abstract (true|false) #IMPLIED> <!ATTLIST entity implements CDATA #IMPLIED> <!ATTLIST entity extends CDATA #IMPLIED> <!ATTLIST entity decorator CDATA #IMPLIED> <!ATTLIST entity description CDATA #IMPLIED> <!ELEMENT field EMPTY> <!ATTLIST field name CDATA #REQUIRED> <!ATTLIST field type CDATA #IMPLIED> <!ATTLIST field label CDATA #IMPLIED> <!ATTLIST field length CDATA #IMPLIED> <!ATTLIST field xref_field CDATA #IMPLIED> <!ATTLIST field xref_label CDATA #IMPLIED> <!ATTLIST field enum_options CDATA #IMPLIED> <!ATTLIST field default CDATA #IMPLIED> <!ATTLIST field auto (true|false) #IMPLIED> <!ATTLIST field nillable (true|false) #IMPLIED> <!ATTLIST field unique (true|false) #IMPLIED> <!ATTLIST field readonly (true|false) #IMPLIED> <!ATTLIST field hidden (true|false) #IMPLIED> <!ATTLIST field description CDATA #IMPLIED> <!ELEMENT unique EMPTY> <!ATTLIST unique fields CDATA #REQUIRED> <!ATTLIST unique subclass (true|false) #IMPLIED> <!ATTLIST unique description CDATA #IMPLIED> <!ELEMENT form (form*,menu*,plugin*)> <!ATTLIST form name CDATA #REQUIRED> <!ATTLIST form entity CDATA #REQUIRED> <!ATTLIST form label CDATA #IMPLIED> <!ATTLIST form view (list|record) #IMPLIED> <!ATTLIST form readonly (yes|no) #IMPLIED> <!ELEMENT menu (form*,menu*,plugin*)> <!ATTLIST menu name CDATA #REQUIRED> <!ATTLIST menu label CDATA #IMPLIED> <!ELEMENT plugin (form*,menu*,plugin*)> <!ATTLIST plugin name CDATA #REQUIRED> <!ATTLIST plugin type CDATA #REQUIRED> <!ATTLIST plugin label CDATA #IMPLIED>