/research/projects/schematrans/seel/tutorial/morfrom-dtd.htm

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