                                            <!-- CBD.DTD -->
                                                      <!--March 10, 1997-->

            <!-- Parses and Composes Commerce Business Daily -->

<!-- CAUTION: The following tags are processing instructions which may be encountered in the Commerce Business Daily database. 
      AC                  accent function 
      E T='??'            emphasis for typeface changes
      ENDPGFIT S='????    processing instruction to adjust page spacing
      FNP                 forces data to new page
      Q P='??'            processing instruction for vertical spacing
      STRPGFIT S='????    processing instruction to adjust page spacing
      SU                  superior figures                            -->


<!ENTITY amp     "&"         >
<!ENTITY emsp    SDATA "&emsp;"        >
<!ENTITY ensp    SDATA "&ensp;"        >
<!ENTITY gt      SDATA "&gt;"          >
<!ENTITY lt      SDATA "&lt;"          >
<!ENTITY llmdash SDATA "&llmdash;"     >
<!ENTITY mdash   SDATA "&mdash;"       >
<!ENTITY ndash   SDATA "&ndash;"       >
<!ENTITY sim     SDATA "&sim;"         >


<!ELEMENT AAAA     - O (#PCDATA)>

<!ELEMENT ABBREV   - O (TITLE, P+, (AB,
                         DEF)+)>

<!ELEMENT AWARD    - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP, CLASSCOD, OFFADD,
                        SUBJECT, SOLNBR?,
                        CONTACT?,
                        AWDNBR?, AWDAMT?,
                        LINENBR?, AWDDATE,
                        AWARDEE, LINK?,
                        EMAIL?, RECD)>
  <!ATTLIST AWARD    SEP (DASH | NONE) "DASH"> 

<!ELEMENT BUSNEWS  - - (TITLE, (SUBJECT, INFO+)*)>

<!ELEMENT CBD      - O (PAGES 
                        | GALLEY)
                        +(AC | E | ENDPGFIT | FNP 
                        | FR | PRTPAGE | Q 
                        | STRPGFIT | SU | Z)>

<!ELEMENT CLASS    - O (TITLE, (PRESOL | SRCSGT 
                        | MOD | AWARD)+)>


<!ELEMENT CLCODES  - O (TITLE, P+, SERVCOD,
                       SERVTLE, (SCODE, STITLE,
                       EX*)+)>
<!ELEMENT CONTENTS - O (TITLE, ITEM+)>

<!ELEMENT CONTRACT - O (TITLE, PURPOSE, SERVICES?,
                        SUPPETC?)>

<!ELEMENT CONTRAWD - O (TITLE, PURPOSE, SERVICES?,
                        SUPPETC?)>
<!ELEMENT ENDPGFIT - O EMPTY --D-->
  <!ATTLIST ENDPGFIT    S NUMBER  #REQUIRED -- must be four digits-->

<!ELEMENT EMAIL    - O (ADDRESS, DESC)>

<!ELEMENT EXAMPLE  - O (ITM, EXPLAN, (OFFADD, EXP),
                        (CLASSCOD, EXP),
                        (SUBJECT, EXP),
                        (SOLNBR, EXP),
                        (RESPDATE, EXP),
                        (CONTACT, EXP),
                        (DESC, EXP),
                        (NNOTE, EXP),
                        (RECD, EXP), P)>

<!ELEMENT FOGOVSTD - O (TITLE, PURPOSE,
                       FSTD+)>

<!ELEMENT FSTD     - - (DATE?, YEAR?, CBAC?,
                        PASSWORD?, ZIP, CLASSCOD?,
                        OFFADD, SUBJECT,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST FSTD     SEP (DASH | NONE) "DASH"> 

<!ELEMENT GALLEY   - O (PRESOL | AWARD | MOD |
                        SRCSGT | SNOTE | FSTD |
                        SSALE)>

<!ELEMENT ITEM     - O (TITLE, PAGE)>

<!ELEMENT LINK     - O (URL, DESC)>

<!ELEMENT MAILER1   - O (MANRESP)>
<!ELEMENT MAILER2   - O (MANRESP)>

<!ELEMENT MANRESP  - O (TITLE, PURPOSE)>

<!ELEMENT MOD      - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP, CLASSCOD, OFFADD,
                        SUBJECT, SOLNBR?,
                        RESPDATE?, CONTACT,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST MOD      SEP (DASH | NONE) "DASH"> 

<!ELEMENT NOTICES  - O (TITLE, P, SAMPLE)>

<!ELEMENT NUMNOTES - O (TITLE, P, (NBR, NOTE)+)>

<!ELEMENT PAGES    - O (ISSNBR, PUBDATE, MAILDATE,
                        (MAILER1
                        | MAILER2),
                        TITLE, PURPOSE,
                        BUSNEWS?,
                        PUBINFO?, CONTENTS, SUBINFO?, 
                        RGNOTE?, CONTRACT?, CONTRAWD?,
                        SPECNOTE?, FOGOVSTD?,SURPSALE?,
                        RDRSGDE?)>

<!ELEMENT PRESOL   - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP, CLASSCOD, OFFADD,
                        SUBJECT, SOLNBR?,
                        RESPDATE?, CONTACT,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST PRESOL   SEP (DASH | NONE) "DASH"> 

<!ELEMENT PUBDATE  - O (DAY, DATE)>


<!ELEMENT RDRSGDE  - O (TITLE, P+, ABBREV,
                       CLCODES, SUPPLIES, NOTICES,
                       NUMNOTES)>

<!ELEMENT RGNOTE   - - (TITLE, NOTE)>

<!ELEMENT SAMPLE   - O (OFFADD, SUBJECT, SOLNBR?,
                        RESPDATE?, CONTACT,
                        DESC, RECD, EXAMPLE)>

<!ELEMENT SERVICES - O (TITLE, CLASS+)>

<!ELEMENT SNOTE    - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP?, CLASSCOD?, OFFADD?,
                        SUBJECT, SOLNBR?,
                        RESPDATE?, CONTACT?,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST SNOTE    SEP (DASH | NONE) "DASH"> 

<!ELEMENT SPECNOTE - O (TITLE, SNOTE+)>

<!ELEMENT SRCSGT   - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP, CLASSCOD, OFFADD,
                        SUBJECT, SOLNBR?,
                        RESPDATE?, CONTACT,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST SRCSGT   SEP (DASH | NONE) "DASH"> 

<!ELEMENT SSALE    - - (DATE, YEAR, CBAC?, PASSWORD?,
                        ZIP, OFFADD, SUBJECT,
                        RESPDATE?, CONTACT,
                        DESC, LINK?, EMAIL?,
                        RECD)>
  <!ATTLIST SSALE    SEP (DASH | NONE) "NONE"> 


<!-- CAUTION: The follwing tag is a processing instruction which may be encountered in data for this application. It is used to start a portion of data that has been forced to fit in the page-makeup phase of processing on the GPO system. The attribute value will be a GPO subformat call that may expand or reduce the spacing function of the composition system or alter page-makeup in some other way. The end of the portion of data to be altered in this way will be delimited by the <ENDPGFIT> tag -->


<!ELEMENT STRPGFIT - O EMPTY --D-->
  <!ATTLIST STRPGFIT    S NUMBER  #REQUIRED -- must be four digits-->

<!ELEMENT SUBINFO  - O (TITLE, PRICE+, ORDER+,
                        PROBLEM, EXPIRE,
                        CHANGE)>

<!ELEMENT SUPPETC  - O (TITLE, CLASS+)>

<!ELEMENT SUPPLIES - O (P, (SUPCOD, SUPDESC)+, 
                       (CODE, DESC)+)>

<!ELEMENT SURPSALE - O (TITLE, SSALE+)>


<!ELEMENT TITLE    - O (#PCDATA)>
<!ELEMENT PURPOSE  - O (#PCDATA)>
<!ELEMENT ISSNBR   - O (#PCDATA)>
<!ELEMENT INFO     - O (#PCDATA)>
<!ELEMENT RHEVEN   - O (#PCDATA)>
<!ELEMENT RHODD    - O (#PCDATA)>
<!ELEMENT PUBINFO  - O (#PCDATA)>
<!ELEMENT PRICE    - O (#PCDATA)>
<!ELEMENT ORDER    - O (#PCDATA)>
<!ELEMENT PROBLEM  - O (#PCDATA)>
<!ELEMENT EXPIRE   - O (#PCDATA)>
<!ELEMENT CHANGE   - O (#PCDATA)>
<!ELEMENT NOTE     - O (#PCDATA)>
<!ELEMENT DAY      - O (#PCDATA)>
<!ELEMENT DATE     - O (#PCDATA)>
<!ELEMENT PAGE     - O (#PCDATA)>
<!ELEMENT YEAR     - O (#PCDATA)>
<!ELEMENT CBAC     - O (#PCDATA)>
<!ELEMENT ZIP      - O (#PCDATA)>
<!ELEMENT CLASSCOD - O (#PCDATA)>
<!ELEMENT OFFADD   - O (#PCDATA)>
<!ELEMENT SUBJECT  - O (#PCDATA)>
<!ELEMENT SOLNBR   - O (#PCDATA)>
<!ELEMENT RESPDATE - O (#PCDATA)>
<!ELEMENT AWDNBR   - O (#PCDATA)>
<!ELEMENT AWDAMT   - O (#PCDATA)>
<!ELEMENT LINENBR  - O (#PCDATA)>
<!ELEMENT PASSWORD - O (#PCDATA)>
<!ELEMENT AWDDATE  - O (#PCDATA)>
<!ELEMENT AWARDEE  - O (#PCDATA)>
<!ELEMENT CONTACT  - O (#PCDATA)>
<!ELEMENT DESC     - O (#PCDATA | P | P1 | P2)+>
<!ELEMENT URL      - O (#PCDATA)>
<!ELEMENT ADDRESS  - O (#PCDATA)>
<!ELEMENT RECD     - O (#PCDATA)>
<!ELEMENT EXP      - O (#PCDATA)>
<!ELEMENT P        - O (#PCDATA)>
<!ELEMENT P1       - O (#PCDATA)>
<!ELEMENT P2       - O (#PCDATA)>
<!ELEMENT AB       - O (#PCDATA)>
<!ELEMENT DEF      - O (#PCDATA)>
<!ELEMENT SERVCOD  - O (#PCDATA)>
<!ELEMENT SERVTLE  - O (#PCDATA)>
<!ELEMENT SCODE    - O (#PCDATA)>
<!ELEMENT STITLE   - O (#PCDATA)>
<!ELEMENT EX       - O (#PCDATA)>
<!ELEMENT SUPCOD   - O (#PCDATA)>
<!ELEMENT SUPDESC  - O (#PCDATA)>
<!ELEMENT CODE     - O (#PCDATA)>
<!ELEMENT NNOTE    - O (#PCDATA)>
<!ELEMENT NBR      - O (#PCDATA)>
<!ELEMENT ITM      - O (#PCDATA)>
<!ELEMENT EXPLAN   - O (#PCDATA)>
<!ELEMENT MAILDATE - O (#PCDATA)>

<!ELEMENT AC       - O EMPTY --[SHED]--> 
  <!ATTLIST AC         T CDATA #REQUIRED>

<!ELEMENT E        - - (#PCDATA) --[SHED]-->
  <!ATTLIST E          T NUMBER #REQUIRED  -- must be two digits-->

<!ELEMENT FNP      - O EMPTY     --[??ED]-->

<!ELEMENT FR       - - (#PCDATA) --[SHED]-->

<!ELEMENT PRTPAGE  - O EMPTY --[SHED]-->
  <!ATTLIST PRTPAGE    P CDATA #REQUIRED>

<!ELEMENT Q        - O EMPTY  --[SHE]-->
  <!ATTLIST Q          P CDATA #REQUIRED  -- must be two digits / use 
                          hypen preceding number to indicate minus -->

<!ELEMENT SU       - - (#PCDATA) --[SHED]-->

<!ELEMENT Z        - - CDATA --[SHED]-->

