BibClass DTD
<!ELEMENT BIBDB o o (GROUP)+ >
<!ELEMENT GROUP o o (COLL?,A+)>
<!ELEMENT COLL o o (#PCDATA) >
<!-- record element, called "A", is based on TEI "biblFull" -->
<!-- A = RECORD -->
<!ELEMENT A - - (B, C?, D*, E?, F?, G*, H*, I2?, J?)>
<!-- B = TITLESTMT -->
<!ELEMENT B - - ((K)*,(L|M|N|O|Q|R)*)>
<!-- C = EDITIONSTMT -->
<!ELEMENT C - - ((S,(R)*)|(P)+)>
<!-- D = EXTENT -->
<!ELEMENT D - - (#PCDATA) >
<!-- E = PUBLICATIONSTMT -->
<!ELEMENT E - - (((T?, U?) | AG), V?, W*, X?, YR*)+>
<!-- F = SERIESSTMT -->
<!ELEMENT F - - (K+, Z?)> <!-- added cite (i.e., Z) for serial ref, jpw -->
<!-- G = NOTESSTMT -->
<!ELEMENT G - - ((AA)+)>
<!-- H = SOURCEDESC -->
<!ELEMENT H - - (P|AB|AC)+>
<!-- I2 = TEXTCLASS -->
<!ELEMENT I2 - - (SG*,KW*) >
<!-- J = HLDGSTMT -->
<!ELEMENT J - - (LOC*,URL*,COLLS) >
<!-- K = TITLE -->
<!ELEMENT K - - (#PCDATA|I|GRK|SUB)+ >
<!-- L = AUTHOR -->
<!ELEMENT L - - (#PCDATA) >
<!-- M = EDITOR -->
<!ELEMENT M - - (#PCDATA) >
<!-- N = SPONSOR -->
<!ELEMENT N - - (#PCDATA) >
<!-- O = FUNDER -->
<!ELEMENT O - - (#PCDATA) >
<!-- P = P -->
<!ELEMENT P - - (#PCDATA|I)* >
<!-- Q = PRINCIPAL -->
<!ELEMENT Q - - (#PCDATA) >
<!-- R = RESPSTMT -->
<!ELEMENT R - - (AD, AE) >
<!-- S = EDITION -->
<!ELEMENT S - - (#PCDATA|I)* >
<!-- T = PUBLISHER -->
<!ELEMENT T - - (#PCDATA|I)* >
<!-- U = PUBPLACE -->
<!ELEMENT U - - (#PCDATA) >
<!-- V = ADDRESS -->
<!ELEMENT V - - (#PCDATA | VV) >
<!-- VV = STREET AND CONTACT INFO FOR ETHNIC DIRECTORY -->
<!ELEMENT VV - - (ST*, PH*, FX*, EM*, URL*) >
<!-- ST = STREET -->
<!ELEMENT ST - - (#PCDATA) >
<!-- PH = PHONE -->
<!ELEMENT PH - - (#PCDATA) >
<!-- FX = FAX -->
<!ELEMENT FX - - (#PCDATA) >
<!-- EM = EMAIL -->
<!ELEMENT EM - - (#PCDATA) >
<!-- W = IDNO -->
<!ELEMENT W - - (#PCDATA) >
<!-- X = AVAILABILITY -->
<!ELEMENT X - - (#PCDATA|(P)+)>
<!-- Y = DATE -->
<!ELEMENT Y - - (#PCDATA)>
<!-- Z = CITE -->
<!ELEMENT Z - - (#PCDATA|((YR,PG)|(VO?,IS?,PG?)))>
<!-- AA = NOTE -->
<!ELEMENT AA - - (#PCDATA|P|I|SUB)*>
<!-- AB = BIBL -->
<!ELEMENT AB - - (K|L|S|N|M|AH|T|U|P|B|D|E|F|C|G)* >
<!-- AC = BIBLFULL --><!-- was not defined in first DTD -->
<!-- AD = NAME -->
<!ELEMENT AD - - (#PCDATA)>
<!-- AE = RESP -->
<!ELEMENT AE - - (#PCDATA)>
<!-- AF = TERM -->
<!ELEMENT AF - - (#PCDATA|I)+>
<!-- AG = IMPRINT -->
<!ELEMENT AG - - (#PCDATA)>
<!-- AH = BIBLSCOPE -->
<!ELEMENT AH - - (#PCDATA|I)*>
<!-- IS = ISS -->
<!-- IS = ISS -->
<!-- IS = ISS -->
<!ELEMENT IS - - (#PCDATA)>
<!-- I = ITALIC -->
<!ELEMENT I - - (#PCDATA)>
<!-- KW = KW -->
<!ELEMENT KW - - (AF)+ >
<!-- PG = PG -->
<!ELEMENT PG - - (#PCDATA)>
<!-- SG = SUBGRP -->
<!ELEMENT SG - - (SU)*> <!-- SU/SG from BAS; keep and map to keyword/term? -->
<!-- SU = SUB from BAS -->
<!ELEMENT SU - - (#PCDATA)>
<!-- SUB = subscript -->
<!ELEMENT SUB - - (#PCDATA)>
<!-- VO = VOL -->
<!ELEMENT VO - - (#PCDATA)>
<!-- YR = YR -->
<!ELEMENT YR - - (#PCDATA)>
<!-- LOC = LOC -->
<!-- URL = URL -->
<!-- GRK = Greek -->
<!ELEMENT (LOC|URL|GRK) - - (#PCDATA|I)*>
<!-- COLLS = collections -->
<!ELEMENT COLLS - - (COLL)+ >
<!-- TYPE attribute is A in all of these cases -->
<!ATTLIST A A (A|B|C|D) "A"
ID ID #REQUIRED
DT CDATA #REQUIRED > <!-- DT att was "REC.DT" -->
<!ATTLIST V A CDATA #IMPLIED>
<!ATTLIST W A CDATA #IMPLIED>
<!ATTLIST AA A CDATA #IMPLIED>
<!ATTLIST KW A CDATA #IMPLIED>
<!ATTLIST K A CDATA #IMPLIED>
<!ATTLIST SU A (COUNTRY|1|2|3|4) "1" >
<!ATTLIST YR A CDATA #IMPLIED>