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 -->