
<!--
 ! DTD for SEC EDGAR (edgardoc DTD format) parsed data
 !
 ! (c) 1999 Invisible Worlds, Inc.
 ! Not for Distribution or Citation
 !
 ! <!ENTITY % PARSED.EDGAR PUBLIC "-//Blocks//DTD PARSED.EDGAR//EN"
 !              "http://xml.resource.org/doc/edgar/parsed-edgar.dtd">
 ! %PARSED.EDGAR;
 !
 ! $Id: //depot/isms/skulker/edgar/1.2.4/etc/parsed-edgar.dtd#1 $
 -->


<!--
 ! DTD data types:
 !
 !      entity        syntax/reference      example
 !      ======        ================      =======
 !      EDGAR-FORMS   list of supported     beneficial_1
 !                    parsed forms
 !
 !-->

<!-- Parsed EDGAR forms we support -->
<!ENTITY % EDGAR-FORMS "beneficial.1|beneficial.2" >


<!ENTITY % BENEFICIAL.1 PUBLIC "-//Blocks//DTD BENEFICIAL.1//EN"
                         "http://xml.resource.org/doc/edgar/beneficial_1.dtd">
%BENEFICIAL.1;

<!ENTITY % BENEFICIAL.2 PUBLIC "-//Blocks//DTD BENEFICIAL.2//EN"
                         "http://xml.resource.org/doc/edgar/beneficial_2.dtd">
%BENEFICIAL.2;


<!--
 !  Contents
 !
 !    External Entity definitions
 !
 !    Parsed SEC EDGAR (edgardoc DTD format) documents/submissions
 !-->


<!-- parsed edgar submission data -->

<!-- submission accession number is parsed.edgar id -->
<!ELEMENT parsed.edgar (parsed.document+) >
<!ATTLIST parsed.edgar 
          id    ID         #REQUIRED >

<!ELEMENT parsed.document   ( parsed.form?, parsed.table* ) >
<!ATTLIST parsed.document
          sequence      %UINT16;   #REQUIRED
          type          %ATEXT;    #REQUIRED
          description   %ATEXT;    #IMPLIED >

<!-- 
  id is document_<SEQUENCE>_type_<TYPE>, with some clean up of TYPE

  class is the IW type classification.  e.g., class="Beneficial Ownership"
-->
<!ELEMENT parsed.form   (%EDGAR-FORMS;) >
<!ATTLIST parsed.form 
          id            ID         #REQUIRED
          class         %ATEXT;    #IMPLIED
          sequence      %UINT16;   #REQUIRED
          type          %ATEXT;    #IMPLIED >

<!ELEMENT parsed.table  (tcaption?, thead?, tbody, tfoot?) >
<!ATTLIST parsed.table 
          id            ID         #REQUIRED
          document      %UINT16;   #REQUIRED
          sequence      %UINT16;   #REQUIRED
          description   %ATEXT;    #IMPLIED >

<!-- table CAPTION -->
<!ELEMENT tcaption      (#PCDATA) >

<!--
  table header, which is basically any text found outside of the
  CAPTION, footnote and table data rows
-->
<!ELEMENT thead         (#PCDATA) >

<!-- table footer -->
<!ELEMENT tfoot         (#PCDATA) >

<!-- table contents -->
<!ELEMENT tbody         (trow)+ >

<!-- table row -->
<!ELEMENT trow          (tcol)+ >

<!-- table data column -->
<!--
  data columns do NOT span more than a single column
-->
<!ELEMENT tcol          (#PCDATA) >
<!ATTLIST tcol
          type          (data | header | label | srule | drule)   "data"
          width         %UINT16;  #IMPLIED 
	  colspan	%UINT16;  #IMPLIED >

<!-- document PARTs are identified -->
<!ELEMENT document.part (%CTEXT;) >
<!ATTLIST document.part 
          id            ID         #REQUIRED
          document      %UINT16;   #IMPLIED
          sequence      %UINT16;   #REQUIRED
          description   %ATEXT;    #IMPLIED >

<!-- document ITEMs are identified -->
<!ELEMENT document.item (%CTEXT;) >
<!ATTLIST document.item 
          id            ID         #REQUIRED
          document      %UINT16;   #IMPLIED
          sequence      %UINT16;   #REQUIRED
          description   %ATEXT;    #IMPLIED >

<!-- document NOTEs are identified -->
<!ELEMENT document.note (%CTEXT;) >
<!ATTLIST document.note 
          id            ID         #REQUIRED
          document      %UINT16;   #IMPLIED
          sequence      %UINT16;   #REQUIRED
          description   %ATEXT;    #IMPLIED >

<!-- document TABLEs are identified -->
<!ELEMENT document.table EMPTY >
<!ATTLIST document.table 
          id            ID         #REQUIRED
          document      %UINT16;   #REQUIRED
          sequence      %UINT16;   #REQUIRED
          description   %ATEXT;    #IMPLIED >






