wiki:MolgenisDtd

Version 1 (modified by Morris Swertz, 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>