
<!--
 ! DTD for SEC EDGAR blocks
 !
 ! (c) 1999 Invisible Worlds, Inc.
 ! Not for Distribution or Citation
 !
 ! <!ENTITY % EDGARSPACE PUBLIC "-//Blocks//DTD EDGARSPACE//EN" "edgarspace.dtd">
 ! %EDGARSPACE;
 !
 ! $Id: //depot/isms/skulker/edgar/1.2.4/etc/edgarspace.dtd#2 $
 -->


<!--
 ! DTD data types:
 !
 !      entity        syntax/reference      example
 !      ======        ================      =======
 !      DAY           1*2DIGIT              1 
 !      MONTH         "January".."December" January
 !      YEAR          4DIGIT                1999
 !
 ! EDGAR input date formats:
 !
 ! submission front: YYYYMMDD
 ! document date:    MMM-DD-YYYY
 ! fiscal year end:  MMDD
 !
 !-->

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

<!--
 !  Contents
 !
 !    External Entity definitions
 !
 !    Blocks about SEC EDGAR documents/submissions
 !-->


<!--
 !  External Entity definitions
 !
 !    Caller should already have included BXXS.
 !-->

<!-- parsed edgar support -->
<!ENTITY % PARSED.EDGAR PUBLIC "-//Blocks//DTD PARSED.EDGAR//EN"
                               "parsed-edgar.dtd">
%PARSED.EDGAR;


<!ENTITY % EDGARSPACE.BLOCK
         "edgar">

<!ENTITY % EDGARSPACE.PROPERTY
         "edgar.props|doc.props">


<!--
 !  Blocks about SEC EDGAR submissions
 !-->


<!ELEMENT edgar          (edgar.props,doc.props,remote.props+) >
<!ATTLIST edgar
          %block.attrs; >

<!ELEMENT edgar.props    EMPTY >
<!-- accession number and submission type -->
<!ATTLIST edgar.props
          number         %ATEXT;       #REQUIRED
          type           %ATEXT;       #REQUIRED
          relativeSize   %UINT32;      #IMPLIED >


<!-- submission and parsed edgar data -->
<!ELEMENT doc.props      (doc.submission, parsed.edgar?) >

<!-- EDGAR submission info -->
<!ELEMENT doc.submission (submission.front,submission.registrant+,submission.document+) >


<!-- relevant EDGAR submission front matter -->
<!ELEMENT submission.front   (references.429*,
                              period?,
                              items*,
                              filing.date,
                              filing.date.change?,
                              effectiveness.date?,
                              sros*,
                              group.members*) >

<!ATTLIST submission.front
          document-count      %UINT16;      #REQUIRED
          confirming-copy     (true|false)  "false" >


<!-- format: see file-number -->
<!ELEMENT references.429      (%CTEXT;) >

<!ELEMENT period              (#PCDATA) >
<!ATTLIST period
          day                 %DAY;    #REQUIRED
          month               %MONTH;  #REQUIRED
          year                %YEAR;   #REQUIRED >

<!-- allowed values: 1-8 -->
<!ELEMENT items               (%CTEXT;) >
<!ATTLIST items
          code                %ATEXT;  #REQUIRED >

<!-- submission front data -->
<!ELEMENT filing.date         (#PCDATA) >
<!ATTLIST filing.date
          day                 %DAY;    #REQUIRED
          month               %MONTH;  #REQUIRED
          year                %YEAR;   #REQUIRED >

<!ELEMENT filing.date.change  (#PCDATA) >
<!ATTLIST filing.date.change
          day                 %DAY;    #REQUIRED
          month               %MONTH;  #REQUIRED
          year                %YEAR;   #REQUIRED >

<!ELEMENT effectiveness.date  (#PCDATA) >
<!ATTLIST effectiveness.date
          day                 %DAY;    #REQUIRED
          month               %MONTH;  #REQUIRED
          year                %YEAR;   #REQUIRED >

<!-- this may be a well-defined list -->
<!ELEMENT sros                (%CTEXT;) >

<!ELEMENT group.members       (%CTEXT;) >


<!-- relevant EDGAR registrant info -->

<!-- CIK: 10-digit numeric in range 1-9999999999 -->
<!-- SIC: 4-digit numeric.  see ... for possible values -->

<!ELEMENT submission.registrant (conformed.name,
                                 cik,
                                 assigned.sic,
                                 relationship?,
                                 irs.number?,
                                 state.of.incorporation?,
                                 fiscal.year.end?,
                                 filing.values+,
                                 business.address?,
                                 mail.address?,
                                 former.company.data*) >

<!ATTLIST submission.registrant
          type                (filed-by |
                               filer |
                               reporting-owner |
                               serial-company |
                               subject-company) #REQUIRED >


<!-- registrant data -->

<!ELEMENT conformed.name      (%CTEXT;) >

<!ELEMENT cik                 (%CTEXT;) >
<!ATTLIST cik
          ticker              %ATEXT;  #REQUIRED
          uri                 %URI;    #IMPLIED >

<!ELEMENT assigned.sic        (%CTEXT;) >
<!ATTLIST assigned.sic
          code                %ATEXT;  #REQUIRED >

<!ELEMENT relationship        (%CTEXT;) >

<!-- format: 99-9999999 -->
<!ELEMENT irs.number          (%CTEXT;) >

<!ELEMENT state.of.incorporation (%CTEXT;) >

<!-- format: MMDD -->
<!ELEMENT fiscal.year.end     (#PCDATA) >
<!ATTLIST fiscal.year.end
          day                 %DAY;    #REQUIRED
          month               %MONTH;  #REQUIRED >

<!ELEMENT filing.values       (form,sec.act?,file.number?,film.number?) >

<!ELEMENT form                EMPTY >
<!ATTLIST form
          type                %ATEXT;  #REQUIRED >

<!-- allowed values: 33|34|35|39|40 -->
<!ELEMENT sec.act             (%CTEXT;) >
<!ATTLIST sec.act
          code                %ATEXT;  #REQUIRED >

<!-- file-number format: ##-#####-XX -->
<!ELEMENT file.number         (%CTEXT;) >

<!-- film-number 10-digit numeric although existing data is 
 !               YY500000-YY999999 (YY is 2-digit year)
 !               00000000          (test data)
 !-->
<!ELEMENT film.number         (%CTEXT;) >

<!-- STREET1, STREET2, CITY, STATE, ZIP, PHONE -->
<!ELEMENT business.address    (postal?,phone?) >

<!-- STREET1, STREET2, CITY, STATE, ZIP -->
<!ELEMENT mail.address        (postal?) >

<!ELEMENT former.company.data (former.conformed.name, date.changed) >

<!ELEMENT former.conformed.name (%CTEXT;) >

<!ELEMENT date.changed          (#PCDATA) >
<!ATTLIST date.changed
          day                %DAY;    #REQUIRED
          month              %MONTH;  #REQUIRED
          year               %YEAR;   #REQUIRED >


<!-- EDGAR submission document -->

<!-- NOTE: structured data from <TEXT>..</TEXT> element to be 
 !         defined later
 !-->

<!--
  sequence: 3-digit numeric in range 1-999
  src:      external ptr for HTML and PDF document formats
-->

<!ELEMENT submission.document (document.description?) >
<!ATTLIST submission.document
          flawed              (true|false)      "false"
          format              (html|pdf|legacy) "legacy"
          sequence            %UINT16;          #REQUIRED
          src                 %URI;             #IMPLIED
          type                %ATEXT;           #REQUIRED >

<!ELEMENT document.description         (%CTEXT;) >


