This is the XML Document Structure currently used in e-Dictor:
<!DOCTYPE document [ <!ELEMENT document (head, body)> <!ELEMENT head (metadata)+> <!ELEMENT metadata (meta)+> <!ELEMENT meta (name, val)+> <!ELEMENT name (#PCDATA)> <!ELEMENT val (#PCDATA)> <!ELEMENT body (text)+> <!ELEMENT text (sec)+> <!ELEMENT sec (p | s | sec)+> <!ELEMENT p (s | text_el | (comment*))+> <!ELEMENT s (text_el | format | ed_mark | (comment*))+> <!ELEMENT text_el (#PCDATA)> <!ELEMENT format (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT ed_mark (ed | or | (ad?))> <!ELEMENT ed (#PCDATA)> <!ELEMENT ad (#PCDATA)> <!ELEMENT or (#PCDATA)> <!ATTLIST metadata generation (original_text | immediate_source | intermediate_source | corpus_processing) #REQUIRED > <!ATTLIST sec t (ch | prologue | preface | licence | index | letter | play | act | char | sc_desc | char_desc | scene_marking | table | line | pag | col | margin |title | subtitle | language) #REQUIRED > <!ATTLIST s t (signature | date | heading) "heading" > <!ATTLIST text_el t (p_nr | line_nr | pag_nr | pag_header | pag_foot | image) "pag_nr" > <!ATTLIST format t (cap | b | i) "cap" > <!ATTLIST ed t (mod | exp | seg | punc | cor | crux) "mod" > ]>