From zedwiki
<!-- simpdoca version 1.49 (17/1/08 SJP) -->
<!-- Added bannerlogo tag (SJP 17/1/08) -->
<!-- Allowed linkto in b i and u (7/8/07 SJP) -->
<!-- Allowed email and web in b i and u (20/4/07 SJP) -->
<!-- Allowed tables with no rows (for automatic outputs) (25/10/05 SJP) -->
<!-- Added medium attribute to linkto (19/7/04 SJP) -->
<!-- Added contents and subelements; added graphic to p2 and p3 (7/6/04 SJP) -->
<!-- Added computer to vdes (11/3/04 SJP) -->
<!-- Added graphic to litem (28/1/04 SJP) -->
<!-- Added list to paragraph (13/1/04 SJP) -->
<!-- Added linkto and bookmark elements (25/3/03 SJP) -->
<!-- Add elements for including graphics, figures and visual descriptions:
graphic, image, imgbox, vdes, vdesp, figure, caption (29/10/02 SJP) -->
<!-- Added sup and sub elements (18/10/02 SJP) -->
<!-- Added subheads (31/7/02 SJP) -->
<!-- Added email and web elements. Added filename to end. (SJP 11/4/02) -->
<!-- Title made optional (SJP 19/2/02) -->
<!-- Added comment (SJP 7/6/01) -->
<!-- Added ver for system version number (SJP 5/1/00) -->
<!-- Updated to XML version 12/8/99 (SJP) -->
<!-- This contains extensions to simpdoc: tables, boxes, etc.
Lists can contain lists -->
<!ENTITY % para-sequence "(p | p2 | p3 | list | points | table | box | graphic | figure | vdesp)+">
<!ENTITY % text "#PCDATA | i | b | u | acronym | braille | computer | email | web | sup | sub | vdes | linkto | bookmark">
<!ELEMENT simpdoca (ver, comment?, bannerlogo?, (title , subtitle*)?, contents?,
((%para-sequence;) | section)+ , end?)>
<!ELEMENT ver (#PCDATA)>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT bannerlogo (#PCDATA)>
<!ELEMENT title (%text;)*>
<!ELEMENT subtitle (%text;)*>
<!ELEMENT contents (head , (entry1 | entry2 | entry3 | entry4)* )>
<!ELEMENT entry1 (secname , pageno)>
<!ELEMENT entry2 (secname , pageno)>
<!ELEMENT entry3 (secname , pageno)>
<!ELEMENT entry4 (secname , pageno)>
<!ELEMENT secname (%text;)*>
<!ELEMENT pageno (#PCDATA)>
<!ELEMENT subsect1 (head?, subhead*, ((%para-sequence;) | subsect2)+)>
<!ELEMENT subsect2 (head? , subhead*, ((%para-sequence;) | subsect3)+)>
<!ELEMENT litem (%text; | graphic)*>
<!ELEMENT acronym (#PCDATA)>
<!ELEMENT computer (#PCDATA)>
<!ELEMENT b (#PCDATA | acronym | email | web | linkto)*>
<!ELEMENT i (#PCDATA | acronym | email | web | linkto)*>
<!ELEMENT u (#PCDATA | acronym | email | web | linkto)*>
<!ELEMENT sup (#PCDATA)>
<!ELEMENT sub (#PCDATA)>
<!ELEMENT linkto (#PCDATA | acronym)*>
<!ELEMENT bookmark (#PCDATA | acronym)*>
<!ELEMENT email (#PCDATA)>
<!ELEMENT web (#PCDATA)>
<!ELEMENT point (%text;)*>
<!ELEMENT points (point+)>
<!ELEMENT p3 (%text; | graphic)*>
<!ELEMENT p2 (%text; | graphic)*>
<!ELEMENT p (%text; | list | graphic)*>
<!ELEMENT vdesp (%text;)*>
<!ELEMENT date (%text;)*>
<!ELEMENT name (%text;)*>
<!ELEMENT filename (#PCDATA | acronym)*>
<!ELEMENT end (name? , date?, filename?)>
<!ELEMENT section (head? , subhead*, ((%para-sequence;) | subsect1)+)>
<!ELEMENT braille (#PCDATA)>
<!ELEMENT table (head? , (p | tablebody)+)>
<!ELEMENT tablebody (colheads* , row*)>
<!ELEMENT colheads (chead+)>
<!ELEMENT chead (%text;)*>
<!ELEMENT row (rowhead? , di+)>
<!ELEMENT rowhead (%text;)*>
<!ELEMENT di (%text;)*>
<!ELEMENT box (head? , (%para-sequence;))>
<!ELEMENT subsect3 (head? , subhead*, (%para-sequence;))>
<!ELEMENT head (%text;)*>
<!ELEMENT subhead (%text;)*>
<!ELEMENT list (list | litem)+>
<!ELEMENT figure (head?, caption?, (graphic | vdes)? )>
<!ELEMENT graphic (imgbox, vdes)>
<!ELEMENT imgbox (image)>
<!ELEMENT image (#PCDATA)>
<!ELEMENT caption (%text;)*>
<!ELEMENT vdes (#PCDATA | acronym | computer)*>
<!ATTLIST head type CDATA #IMPLIED>
<!ATTLIST list type CDATA #IMPLIED>
<!ATTLIST image source CDATA #REQUIRED
width NMTOKEN #IMPLIED>
<!ATTLIST imgbox position (centre) #IMPLIED>
<!ATTLIST linkto location CDATA #REQUIRED
medium (html) #IMPLIED>
<!ATTLIST bookmark name CDATA #REQUIRED>
<!ATTLIST bannerlogo type (RNIB | other) #REQUIRED
imgsrc CDATA #IMPLIED
sndsrc CDATA #IMPLIED>