<!--
 ! DTD for CBD blocks
 !
 ! (c) 1999 Invisible Worlds, Inc.
 ! Not for Distribution or Citation
 !
 ! <!ENTITY % CBDSPACE PUBLIC "-//Blocks//DTD CBDSPACE//EN" "cbdspace.dtd" >
 ! %CBDSPACE;
 !
 ! $Id: //depot/isms/skulker/cbd/1.1/etc/cbdspace.dtd#1 $
 !
 -->

<!-- 
	To Be Added:
	Differentiation between Services, Supplies etc., and Other Notices
-->

<!-- 
	Comment Key:
	Matches source.doc;line.number - tag
	e.g. 
	"CBD;132 - PUBDATE" = SGML DTD distributed with CBD; line 132 - <PUBDATE>
	
-->

<!-- 
        Parameter Entity Declarations 
        
        DTD Data Types:
        day.name       The day of the week, e.g., "Monday"
        dollar.amount  A real number, e.g., "30000.00"
        month          The month of the year, e.g., "January"  
        day            The day of the month, e.g., "1"
        year           A four-digit year, e.g., "1999"
-->

<!ENTITY % DAY.NAME      "CDATA">
<!ENTITY % DOLLAR.AMOUNT "CDATA">

<!ENTITY % DAY           "CDATA">
<!ENTITY % MONTH         "CDATA">
<!ENTITY % YEAR          "CDATA">

<!--
 !  Contents
 !
 !    External Entity definitions
 !
 !    Blocks about CBD documents/submissions
 !-->
 
 
<!--
 !  External Entity definitions
 !
 !    Caller should already have included BXXS.
 !-->
 
<!ENTITY % CBDSPACE.BLOCK
         "cbd">
 
<!ENTITY % CBDSPACE.PROPERTY
         "cbd.props|doc.props">
 
 
<!--
 !  Blocks about CBD submissions
 !-->
 
<!ELEMENT cbd            (cbd.props,doc.props,remote.props+) >
<!ATTLIST cbd
          %block.attrs; >
 
<!ELEMENT cbd.props    EMPTY >
<!-- accession number and submission type -->
<!ATTLIST cbd.props
          number       %ATEXT;              #REQUIRED 
          type         (award |
                        foreign.standard |
                        modification |
                        pre-solicit |
                        source-sought |
                        special-note |
                        surplus.sale)       #REQUIRED 
          submitted    (direct-email |
                        provider-email |
                        manuscript |
                        web)                #REQUIRED
          subpart      (services |
                        supplies)           #REQUIRED
          relativeSize %UINT32;             #IMPLIED >

<!-- submission data -->
<!ELEMENT doc.props      (doc.submission) >
 
<!-- CBD submission info -->
<!ELEMENT doc.submission (submission.front,submission.document*) >


<!ELEMENT submission.front     (pub.date,
                                mail.date,
                                issue.number) >

<!ELEMENT submission.document  (item.date?,
                                zip?,
                                class.code?,
                                office.address?,
                                subject?,
                                solicit.number?,
                                response.date?,
                                contact?,
                                desc?,
                                link?,
                                email?,
                                award.number?,
                                award.amount?,
                                line.number?,
                                award.date?,
                                awardee?) >

<!-- 
	Matches CBD;132 - PUBDATE
-->
<!ELEMENT pub.date EMPTY>
<!ATTLIST pub.date month    %MONTH;     #REQUIRED
                   day      %DAY;       #IMPLIED
                   year     %YEAR;      #IMPLIED
                   day-name %DAY.NAME;  #REQUIRED >
                    
<!-- 
	Matches CBD;244 - MAILDATE
-->
<!ELEMENT mail.date EMPTY>
<!ATTLIST mail.date month   %MONTH;  #REQUIRED
                    day     %DAY;  #IMPLIED
                    year    %YEAR;  #IMPLIED >
                     
<!-- 
	Matches CBD;193 - ISSNBR
-->                     
<!ELEMENT issue.number  (#PCDATA) >


<!-- 
	Matches CBD;205 - DATE
--> 
<!ELEMENT item.date EMPTY>
<!ATTLIST item.date month   %MONTH;  #REQUIRED
                    day     %DAY;  #IMPLIED
                    year    %YEAR;  #IMPLIED >       
                     
<!-- 
	Matches CBD;214 - RESPDATE
-->                    
<!ELEMENT response.date EMPTY>
<!ATTLIST response.date month   %MONTH;  #REQUIRED
                        day     %DAY;  #IMPLIED
                        year    %YEAR;  #IMPLIED >

<!-- 
	Matches CBD;210 - CLASSCOD
-->                                            
<!ELEMENT class.code EMPTY>
<!ATTLIST class.code code CDATA  #REQUIRED
                     desc CDATA  #IMPLIED >

<!-- 
	Matches CBD;211 - office.address

  postal declared in bxxs.dtd
-->                       
<!ELEMENT office.address  (postal, office)* >
<!ELEMENT office  (#PCDATA) >

<!-- 
	Matches CBD;212 - SUBJECT
--> 
<!ELEMENT subject EMPTY>
<!ATTLIST subject  code CDATA  #REQUIRED
                   desc CDATA  #IMPLIED >

<!-- 
	Matches CBD;221 - CONTACT
	phone and facsimile declared in bxxs.dtd
--> 
<!ELEMENT contact  (person.name?, person.title?, phone?, facsimile?, dsn?, cbd.email?)* >
<!ELEMENT person.name  EMPTY>
<!ATTLIST person.name  last-name     CDATA  #IMPLIED
                       first-name    CDATA  #IMPLIED
                       middle-name   CDATA  #IMPLIED
                       full-name     CDATA  #IMPLIED>
<!ELEMENT person.title  (#PCDATA) >
<!ELEMENT dsn  (#PCDATA) >
<!ELEMENT cbd.email  EMPTY>
<!ATTLIST cbd.email  email CDATA  #REQUIRED
                 desc  CDATA  #IMPLIED >


<!-- 
	Matches CBD;222 - DESC
--> 
<!ELEMENT desc  (skulked.desc, unskulked.desc) >
<!ELEMENT skulked.desc  (link | email)* >
<!ELEMENT link EMPTY>
<!ATTLIST link  link-type  (info | far | dfars | sic | note | other)  #REQUIRED
                url  CDATA  #REQUIRED
                desc CDATA  #IMPLIED >
<!ELEMENT unskulked.desc (#PCDATA) >


<!-- 
	Matches CBD;215 - AWDNBR
--> 
<!ELEMENT award.number  (#PCDATA) >

<!-- 
	Matches CBD;216 - AWDAMT
--> 
<!ELEMENT award.amount EMPTY>  
<!ATTLIST award.amount  dollar-amount  %DOLLAR.AMOUNT; #IMPLIED >

<!-- 
	Matches CBD;219 - AWDDATE
--> 
<!ELEMENT award.date EMPTY>
<!ATTLIST award.date  month %MONTH;  #REQUIRED
                      day   %DAY;    #IMPLIED
                      year  %YEAR;   #IMPLIED >

<!-- 
	Matches CBD;220 - AWARDEE
--> 
<!ELEMENT awardee  (postal, office)* >

<!-- 
	Matches CBD;209 - ZIP
--> 
<!ELEMENT zip  (#PCDATA) >

<!-- 
	Matches CBD;213 - SOLNBR
--> 
<!ELEMENT solicit.number  (#PCDATA) >

<!-- 
	Matches CBD;217 - LINENBR
--> 
<!ELEMENT line.number  (#PCDATA) >


