doc/rfc2629.dtd
changeset 0 2b3e5ec03512
equal deleted inserted replaced
-1:000000000000 0:2b3e5ec03512
       
     1 <!--
       
     2   revised DTD for the RFC document series, draft of 2004-04-04
       
     3   -->
       
     4 
       
     5 
       
     6 <!--
       
     7   Contents
       
     8 
       
     9     DTD data types
       
    10 
       
    11     The top-level
       
    12 
       
    13     Front matter
       
    14 
       
    15     The Body
       
    16 
       
    17     Back matter
       
    18   -->
       
    19 
       
    20 
       
    21 <!--
       
    22   DTD data types:
       
    23 
       
    24         entity        description
       
    25         ======        ===============================================
       
    26         NUMBER        [0-9]+
       
    27         NUMBERS       a comma-separated list of NUMBER
       
    28 
       
    29         DAY           the day of the month, e.g., "1"
       
    30         MONTH         the month of the year, e.g., "January"
       
    31         YEAR          a four-digit year, e.g., "1999"
       
    32 
       
    33         URI           e.g., "http://invisible.net/"
       
    34 
       
    35         ATEXT/CTEXT   printable ASCII text (no line-terminators)
       
    36 
       
    37         TEXT          character data
       
    38   -->
       
    39 
       
    40 
       
    41 <!ENTITY % NUMBER     "CDATA">
       
    42 <!ENTITY % NUMBERS    "CDATA">
       
    43 
       
    44 <!ENTITY % DAY        "CDATA">
       
    45 <!ENTITY % MONTH      "CDATA">
       
    46 <!ENTITY % YEAR       "CDATA">
       
    47 
       
    48 <!ENTITY % URI        "CDATA">
       
    49 
       
    50 <!ENTITY % ATEXT      "CDATA">
       
    51 <!ENTITY % CTEXT      "#PCDATA">
       
    52 
       
    53 <!ENTITY % TEXT       "#PCDATA">
       
    54 
       
    55 <!ENTITY   rfc.number "XXXX">
       
    56 
       
    57 
       
    58 <!--
       
    59   The top-level
       
    60   -->
       
    61 
       
    62 
       
    63 <!--
       
    64   attributes for the "rfc" element are supplied by the RFC
       
    65   editor. when preparing drafts, authors should leave them blank.
       
    66 
       
    67   the "seriesNo" attribute is used if the category is, e.g., BCP.
       
    68   -->
       
    69 <!ELEMENT rfc         (front,middle,back?)>
       
    70 <!ATTLIST rfc
       
    71           number      %NUMBER;           #IMPLIED
       
    72           obsoletes   %NUMBERS;          ""
       
    73           updates     %NUMBERS;          ""
       
    74           category    (std|bcp|info|exp|historic)
       
    75                                          "info"
       
    76           seriesNo    %NUMBER;           #IMPLIED
       
    77           ipr         (full2026|noDerivativeWorks2026|none
       
    78                       |full3667|noModification3667|noDerivatives3667)
       
    79                                          #IMPLIED
       
    80           iprExtract  IDREF              #IMPLIED
       
    81           docName     %ATEXT;            #IMPLIED
       
    82           xml:lang    %ATEXT;            "en">
       
    83 
       
    84 
       
    85 <!--
       
    86   Front matter
       
    87   -->
       
    88 
       
    89 
       
    90 <!ELEMENT front       (title,author+,date,area*,workgroup*,keyword*,
       
    91                        abstract?,note*)>
       
    92 
       
    93 <!-- the "abbrev" attribute is used for headers, etc. -->
       
    94 <!ELEMENT title       (%CTEXT;)>
       
    95 <!ATTLIST title
       
    96           abbrev      %ATEXT;            #IMPLIED> 
       
    97 
       
    98 <!ELEMENT author      (organization,address?)>
       
    99 <!ATTLIST author
       
   100           initials    %ATEXT;            #IMPLIED
       
   101           surname     %ATEXT;            #IMPLIED
       
   102           fullname    %ATEXT;            #IMPLIED
       
   103           role        (editor)           #IMPLIED>
       
   104 
       
   105 <!ELEMENT organization
       
   106                       (%CTEXT;)>
       
   107 <!ATTLIST organization
       
   108           abbrev      %ATEXT;            #IMPLIED> 
       
   109  
       
   110 <!ELEMENT address     (postal?,phone?,facsimile?,email?,uri?)>
       
   111 
       
   112 <!-- at most one of each the city, region, code, and country
       
   113      elements may be present -->
       
   114 <!ELEMENT postal      (street+,(city|region|code|country)*)>
       
   115 <!ELEMENT street      (%CTEXT;)>
       
   116 <!ELEMENT city        (%CTEXT;)>
       
   117 <!ELEMENT region      (%CTEXT;)>
       
   118 <!ELEMENT code        (%CTEXT;)>
       
   119 <!ELEMENT country     (%CTEXT;)>
       
   120 <!ELEMENT phone       (%CTEXT;)>
       
   121 <!ELEMENT facsimile   (%CTEXT;)>
       
   122 <!ELEMENT email       (%CTEXT;)>
       
   123 <!ELEMENT uri         (%CTEXT;)>
       
   124 
       
   125 <!ELEMENT date        EMPTY>
       
   126 <!ATTLIST date
       
   127           day         %DAY;              #IMPLIED
       
   128           month       %MONTH;            #IMPLIED
       
   129           year        %YEAR;             #REQUIRED>
       
   130 
       
   131 <!-- meta-data... -->
       
   132 <!ELEMENT area        (%CTEXT;)>
       
   133 <!ELEMENT workgroup   (%CTEXT;)>
       
   134 <!ELEMENT keyword     (%CTEXT;)>
       
   135 
       
   136 <!ELEMENT abstract    (t)+>
       
   137 <!ELEMENT note        (t)+>
       
   138 <!ATTLIST note
       
   139           title       %ATEXT;            #REQUIRED>
       
   140 
       
   141 
       
   142 <!--
       
   143   The body
       
   144   -->
       
   145 
       
   146 
       
   147 <!-- later on, may be (section+,appendix*,section*) -->
       
   148 <!ELEMENT middle      (section+)>
       
   149 
       
   150 <!ELEMENT section     (t|figure|texttable|iref|section)*>
       
   151 <!ATTLIST section
       
   152           anchor      ID                 #IMPLIED
       
   153           title       %ATEXT;            #REQUIRED
       
   154           toc         (include|exclude|default)
       
   155                                          "default">
       
   156 
       
   157 <!--
       
   158 <!ELEMENT appendix    (t|figure|texttable|iref|appendix)*>
       
   159 <!ATTLIST appendix
       
   160           anchor      ID                 #IMPLIED
       
   161           title       %ATEXT;            #REQUIRED
       
   162           toc         (include|exclude|default)
       
   163                                          "default">
       
   164   -->
       
   165 
       
   166 <!-- use of <figure/> is deprecated... -->
       
   167 <!ELEMENT t           (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*>
       
   168 <!ATTLIST t
       
   169           hangText    %ATEXT;            #IMPLIED>
       
   170 
       
   171 <!-- the value of the style attribute is inherited from the closest 
       
   172      parent -->
       
   173 <!ELEMENT list        (t+)>
       
   174 <!ATTLIST list
       
   175           style       %ATEXT;            "empty"
       
   176           hangIndent  %NUMBER;           #IMPLIED
       
   177           counter     %ATEXT;            #IMPLIED>
       
   178 
       
   179 <!ELEMENT xref        (%CTEXT;)>
       
   180 <!ATTLIST xref
       
   181           target      IDREF              #REQUIRED
       
   182           pageno      (true|false)       "false"
       
   183           format      (counter|title|none|default)
       
   184                                          "default">
       
   185 
       
   186 <!ELEMENT eref        (%CTEXT;)>
       
   187 <!ATTLIST eref
       
   188           target      %URI;              #REQUIRED>
       
   189 
       
   190 <!ELEMENT iref        EMPTY>
       
   191 <!ATTLIST iref
       
   192           item        %ATEXT;            #REQUIRED
       
   193           subitem     %ATEXT;            ""
       
   194           primary    (true|false)       "false">
       
   195 
       
   196 <!ELEMENT cref        (%CTEXT;)>
       
   197 <!ATTLIST cref
       
   198           anchor      ID                 #IMPLIED
       
   199           source      %ATEXT;            #IMPLIED>
       
   200 
       
   201 <!ELEMENT spanx       (%CTEXT;)>
       
   202 <!ATTLIST spanx
       
   203           style       %ATEXT;            "emph">
       
   204 
       
   205 <!ELEMENT vspace      EMPTY>
       
   206 <!ATTLIST vspace
       
   207           blankLines  %NUMBER;           "0">
       
   208 
       
   209 <!ELEMENT figure      (preamble?,artwork,postamble?)>
       
   210 <!ATTLIST figure
       
   211           anchor      ID                 #IMPLIED
       
   212           title       %ATEXT;            "">
       
   213 
       
   214 <!ELEMENT preamble    (%TEXT;|xref|eref|iref|cref|spanx)*>
       
   215 <!ELEMENT artwork     (%TEXT;)*>
       
   216 <!ATTLIST artwork
       
   217           xml:space   (default|preserve) "preserve"
       
   218           name        %ATEXT;            ""
       
   219           type        %ATEXT;            ""
       
   220           src         %URI;              #IMPLIED
       
   221           width       %ATEXT;            ""
       
   222           height      %ATEXT;            "">
       
   223 
       
   224 <!ELEMENT postamble   (%TEXT;|xref|eref|iref|cref|spanx)*>
       
   225     
       
   226 <!ELEMENT texttable   (preamble?,ttcol+,c*,postamble?)>
       
   227 <!ATTLIST texttable
       
   228           anchor      ID                 #IMPLIED
       
   229           title       %ATEXT;            "">
       
   230 <!ELEMENT ttcol       (%CTEXT;)>
       
   231 <!ATTLIST ttcol
       
   232           width       %ATEXT;           #IMPLIED
       
   233           align       (left|center|right) "left">
       
   234 <!ELEMENT c           (%TEXT;|xref|eref|iref|cref|spanx)*>
       
   235 
       
   236 
       
   237 <!--
       
   238   Back matter
       
   239   -->
       
   240 
       
   241 
       
   242 <!-- sections, if present, are appendices -->
       
   243 <!ELEMENT back        (references*,section*)>
       
   244 
       
   245 <!ELEMENT references  (reference+)>
       
   246 <!ATTLIST references
       
   247           title       %ATEXT;            "References">
       
   248 <!ELEMENT reference   (front,seriesInfo*,format*,annotation*)>
       
   249 <!ATTLIST reference
       
   250           anchor      ID                 #IMPLIED
       
   251           target      %URI;              #IMPLIED>
       
   252 <!ELEMENT seriesInfo  EMPTY>
       
   253 <!ATTLIST seriesInfo
       
   254           name        %ATEXT;            #REQUIRED
       
   255           value       %ATEXT;            #REQUIRED>
       
   256 <!ELEMENT format      EMPTY>
       
   257 <!ATTLIST format
       
   258           target      %URI;              #IMPLIED
       
   259           type        %ATEXT;            #REQUIRED
       
   260           octets      %NUMBER;           #IMPLIED>
       
   261 <!ELEMENT annotation  (%TEXT;|xref|eref|iref|cref|spanx)*>