<!DOCTYPE isl [
<!ELEMENT isl (id, group?, name?, life, modal, string, (start|stop|(create|destroy|in|out|select|modify|isl)+), meta?)>
<!ELEMENT start (id, group?, name?)>
<!ELEMENT stop (id, group?, name?)>
<!ELEMENT create (id, group?, name?, life, modal, string, parameter*)>
<!ELEMENT destroy (id, group?, name?, life, modal, string)>
<!ELEMENT select (id, group?, name?, life, modal, response-number, string, alternative+, meta?)>
<!ELEMENT modify (id, group?, name?, life, modal, string, meta?)>
<!ELEMENT in (id, group?, name?, life, modal, string, meta?)>
<!ELEMENT out (id, group?, name?, life, modal, string, meta?)>
<!ELEMENT alternative (id, group, name, string, retval, meta?)>
<!ELEMENT parameter (id, value)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT group (#PCDATA)>
<!ELEMENT life (#PCDATA)>
<!ELEMENT modal (#PCDATA)>
<!ELEMENT string (#PCDATA)>
<!ELEMENT retval (#PCDATA)>
<!ELEMENT response-number (#PCDATA)>
<!ELEMENT meta (#PCDATA)>
<!ELEMENT value (#PCDATA)>
]>