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