originally: http://www.oclc.org/research/projects/schematrans/seel/tutorial/morfrom-dtd.htm
<!-- # Begin morfrom.dtd --> <!-- #$# creator: Devon Smith #%# email: smithde@oclc.org #$# created: 2004-02-13 #$# description: A DTD for Morfrom records. --> <!ELEMENT set (record+) > <!ELEMENT record (header, field+)> <!ELEMENT header (schema) > <!ELEMENT schema EMPTY> <!ATTLIST schema namespace CDATA #REQUIRED name CDATA #REQUIRED > <!-- The header and schema elements are not technically a part of the data structure. Since most, if not all, elements in a record will share a single namespace, it makes sense from an implementation standpoint to have it listed at the top and applied to elements where no other namespace is supplied. --> <!ELEMENT field (value?, field*)> <!ATTLIST field namespace CDATA #IMPLIED name CDATA #REQUIRED > <!ELEMENT value (#CDATA) > <!ATTLIST value scheme CDATA #IMPLIED language CDATA #IMPLIED encoding CDATA #IMPLIED type CDATA #IMPLIED transliteration CDATA #IMPLIED > <!-- # End morfrom.dtd -->