Ignore:
Timestamp:
Feb 2, 2009, 12:18:21 PM (11 years ago)
Author:
julian.reschke@…
Message:

Bring ABNF stuff in-line with main branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest-roy/p6-cache.xml

    r441 r442  
    1515  <!ENTITY ID-MONTH "December">
    1616  <!ENTITY ID-YEAR "2008">
    17   <!ENTITY notation-abnf               "<xref target='Part1' x:rel='#notation.abnf' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     17  <!ENTITY notation                    "<xref target='Part1' x:rel='#notation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    1818  <!ENTITY basic-rules                 "<xref target='Part1' x:rel='#basic.rules' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    1919  <!ENTITY uri                         "<xref target='Part1' x:rel='#uri' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    326326          requirements for its protocols is said to be "conditionally compliant."</t>
    327327      </section>
    328     </section>
    329 
    330 
    331     <section anchor="notation" title="Notational Conventions and Generic Grammar">
    332       <x:anchor-alias value="DIGIT" />
    333       <x:anchor-alias value="DQUOTE" />
    334       <x:anchor-alias value="quoted-string" />
    335       <x:anchor-alias value="SP" />
    336       <x:anchor-alias value="token" />
    337       <t>This specification uses the ABNF syntax defined in &notation-abnf; and the core rules
    338         defined in &basic-rules;: <cref anchor="abnf.dep">ABNF syntax and basic rules will be
    339           adopted from RFC 5234, see <eref target="http://ietf.org/wg/httpbis/trac/ticket/36"
    340          />.</cref>
    341       </t>
    342       <figure>
    343         <artwork type="abnf2616">
    344   <x:ref>DIGIT</x:ref>         = &lt;DIGIT, defined in &basic-rules;&gt;
    345   <x:ref>DQUOTE</x:ref>        = &lt;DQUOTE, defined in &basic-rules;&gt;
    346   <x:ref>SP</x:ref>            = &lt;SP, defined in &basic-rules;&gt;
    347 </artwork>
    348       </figure>
    349       <figure>
    350         <artwork type="abnf2616">
     328
     329
     330<section title="Syntax Notation" anchor="notation">
     331  <x:anchor-alias value="ALPHA"/>
     332  <x:anchor-alias value="CR"/>
     333  <x:anchor-alias value="DIGIT"/>
     334  <x:anchor-alias value="DQUOTE"/>
     335  <x:anchor-alias value="LF"/>
     336  <x:anchor-alias value="OCTET"/>
     337  <x:anchor-alias value="SP"/>
     338  <x:anchor-alias value="VCHAR"/>
     339  <x:anchor-alias value="WSP"/>
     340<t>
     341  This specification uses the ABNF syntax defined in &notation;.
     342  The following core rules are included by
     343  reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>:
     344  ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls),
     345  DIGIT (decimal 0-9), DQUOTE (double quote),
     346  HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed),
     347  OCTET (any 8-bit sequence of data), SP (space),
     348  VCHAR (any visible USASCII character),
     349  and WSP (whitespace).
     350</t>
     351
     352<section title="Core Rules" anchor="core.rules">
     353  <x:anchor-alias value="quoted-string"/>
     354  <x:anchor-alias value="token"/>
     355  <x:anchor-alias value="OWS"/>
     356<t>
     357  The core rules below are defined in &basic-rules;:
     358</t>
     359<figure><artwork type="abnf2616">
    351360  <x:ref>quoted-string</x:ref> = &lt;quoted-string, defined in &basic-rules;&gt;
    352361  <x:ref>token</x:ref>         = &lt;token, defined in &basic-rules;&gt;
    353 </artwork>
    354       </figure>
    355       <t anchor="abnf.dependencies">
    356         <x:anchor-alias value="field-name" />
    357         <x:anchor-alias value="HTTP-date" />
    358         <x:anchor-alias value="port" />
    359         <x:anchor-alias value="pseudonym" />
    360         <x:anchor-alias value="uri-host" /> The ABNF rules below are defined in other parts:</t>
    361       <figure>
    362         <!--Part1-->
    363         <artwork type="abnf2616">
     362  <x:ref>OWS</x:ref>           = &lt;OWS, defined in &basic-rules;&gt;
     363</artwork></figure>
     364</section>
     365
     366<section title="ABNF Rules defined in other Parts of the Specification" anchor="abnf.dependencies">
     367  <x:anchor-alias value="field-name"/>
     368  <x:anchor-alias value="HTTP-date"/>
     369  <x:anchor-alias value="port"/>
     370  <x:anchor-alias value="pseudonym"/>
     371  <x:anchor-alias value="uri-host"/>
     372<t>
     373  The ABNF rules below are defined in other parts:
     374</t>
     375<figure><!--Part1--><artwork type="abnf2616">
    364376  <x:ref>field-name</x:ref>    = &lt;field-name, defined in &message-headers;&gt;
    365377  <x:ref>HTTP-date</x:ref>     = &lt;HTTP-date, defined in &full-date;&gt;
     
    367379  <x:ref>pseudonym</x:ref>     = &lt;pseudonym, defined in &header-via;&gt;
    368380  <x:ref>uri-host</x:ref>      = &lt;uri-host, defined in &uri;&gt;
    369 </artwork>
    370       </figure>
    371     </section>
     381</artwork></figure>
     382</section>
     383
     384</section>
     385</section>
    372386
    373387    <section anchor="caching.overview" title="Cache Operation">
     
    764778        <iref item="Age header" primary="true" x:for-anchor="" />
    765779        <iref item="Headers" primary="true" subitem="Age" x:for-anchor="" />
    766         <x:anchor-alias value="Age" />
    767         <x:anchor-alias value="age-value" />
    768         <t>The Age response-header field conveys the sender's estimate of the amount of time since
     780        <x:anchor-alias value="Age"/>
     781        <x:anchor-alias value="Age-v"/>
     782        <x:anchor-alias value="age-value"/>
     783        <t>      The response-header field "Age" conveys the sender's estimate of the amount of time since
    769784          the response (or its validation) was generated at the origin server. Age values are
    770785          calculated as specified in <xref target="age.calculations" />.</t>
    771         <figure>
    772           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Age" /><iref item="Grammar" primary="true" subitem="age-value" />
    773   <x:ref>Age</x:ref> = "Age" ":" <x:ref>age-value</x:ref>
    774   <x:ref>age-value</x:ref> = <x:ref>delta-seconds</x:ref>
    775 </artwork>
    776         </figure>
     786<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Age"/><iref primary="true" item="Grammar" subitem="Age-v"/>
     787  <x:ref>Age</x:ref>   = "Age" ":" <x:ref>OWS</x:ref> <x:ref>Age-v</x:ref>
     788  <x:ref>Age-v</x:ref> = <x:ref>delta-seconds</x:ref>
     789</artwork></figure>
    777790        <t anchor="rule.delta-seconds">
    778791          <x:anchor-alias value="delta-seconds" /> Age field-values are non-negative decimal
     
    795808        <iref item="Cache-Control header" primary="true" x:for-anchor="" />
    796809        <iref item="Headers" primary="true" subitem="Cache-Control" x:for-anchor="" />
    797         <x:anchor-alias value="Cache-Control" />
    798         <x:anchor-alias value="cache-directive" />
    799         <x:anchor-alias value="cache-extension" />
    800         <t>The Cache-Control general-header field is used to specify directives that &MUST; be
     810        <x:anchor-alias value="Cache-Control"/>
     811        <x:anchor-alias value="Cache-Control-v"/>
     812        <x:anchor-alias value="cache-directive"/>
     813        <x:anchor-alias value="cache-extension"/>
     814        <x:anchor-alias value="cache-request-directive"/>
     815        <x:anchor-alias value="cache-response-directive"/>
     816        <t>The general-header field "Cache-Control" is used to specify directives that &MUST; be
    801817          obeyed by all caches along the request/response chain. The directives specify behavior
    802818          intended to prevent caches from adversely interfering with the request or response. Cache
     
    811827          applicable to all recipients along the request/response chain. It is not possible to
    812828          target a directive to a specific cache.</t>
    813         <figure>
    814           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Cache-Control" /><iref item="Grammar" primary="true" subitem="cache-directive" /><iref item="Grammar" primary="true" subitem="cache-extension" />
    815   <x:ref>Cache-Control</x:ref>   = "Cache-Control" ":" 1#<x:ref>cache-directive</x:ref>
     829<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Cache-Control"/><iref primary="true" item="Grammar" subitem="Cache-Control-v"/><iref primary="true" item="Grammar" subitem="cache-extension"/>
     830  <x:ref>Cache-Control</x:ref>   = "Cache-Control" ":" <x:ref>OWS</x:ref> <x:ref>Cache-Control-v</x:ref>
     831  <x:ref>Cache-Control-v</x:ref> = 1#<x:ref>cache-directive</x:ref>
    816832
    817833  <x:ref>cache-directive</x:ref> = <x:ref>cache-request-directive</x:ref>
     
    819835
    820836  <x:ref>cache-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ]
    821 </artwork>
    822         </figure>
    823 
     837</artwork></figure>
    824838
    825839        <section anchor="cache-request-directive" title="Request Cache-Control Directives">
     
    10781092        <iref item="Expires header" primary="true" x:for-anchor="" />
    10791093        <iref item="Headers" primary="true" subitem="Expires" x:for-anchor="" />
    1080         <x:anchor-alias value="Expires" />
     1094        <x:anchor-alias value="Expires"/>
     1095        <x:anchor-alias value="Expires-v"/>
    10811096        <t>The Expires entity-header field gives the date/time after which the response is
    10821097          considered stale. See <xref target="expiration.model" /> for further discussion of the
     
    10861101        <t>The field-value is an absolute date and time as defined by HTTP-date in &full-date;;
    10871102          it &MUST; be sent in rfc1123-date format.</t>
    1088         <figure>
    1089           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Expires" />
    1090   <x:ref>Expires</x:ref> = "Expires" ":" <x:ref>HTTP-date</x:ref>
    1091 </artwork>
    1092         </figure>
     1103<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expires"/><iref primary="true" item="Grammar" subitem="Expires-v"/>
     1104  <x:ref>Expires</x:ref>   = "Expires" ":" <x:ref>OWS</x:ref> <x:ref>Expires-v</x:ref>
     1105  <x:ref>Expires-v</x:ref> = <x:ref>HTTP-date</x:ref>
     1106</artwork></figure>
    10931107        <t>For example</t>
    10941108        <figure>
     
    11131127        <iref item="Pragma header" primary="true" x:for-anchor="" />
    11141128        <iref item="Headers" primary="true" subitem="Pragma" x:for-anchor="" />
    1115         <x:anchor-alias value="extension-pragma" />
    1116         <x:anchor-alias value="Pragma" />
    1117         <x:anchor-alias value="pragma-directive" />
    1118         <t>The Pragma general-header field is used to include implementation-specific directives
     1129        <x:anchor-alias value="extension-pragma"/>
     1130        <x:anchor-alias value="Pragma"/>
     1131        <x:anchor-alias value="Pragma-v"/>
     1132        <x:anchor-alias value="pragma-directive"/>
     1133        <t>The general-header field "Pragma" is used to include implementation-specific directives
    11191134          that might apply to any recipient along the request/response chain. All pragma directives
    11201135          specify optional behavior from the viewpoint of the protocol; however, some systems
    11211136          &MAY; require that behavior be consistent with the directives.</t>
    1122         <figure>
    1123           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Pragma" /><iref item="Grammar" primary="true" subitem="pragma-directive" /><iref item="Grammar" primary="true" subitem="extension-pragma" />
    1124   <x:ref>Pragma</x:ref>            = "Pragma" ":" 1#<x:ref>pragma-directive</x:ref>
     1137<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Pragma"/><iref primary="true" item="Grammar" subitem="Pragma-v"/><iref primary="true" item="Grammar" subitem="pragma-directive"/><iref primary="true" item="Grammar" subitem="extension-pragma"/>
     1138  <x:ref>Pragma</x:ref>            = "Pragma" ":" <x:ref>OWS</x:ref> <x:ref>Pragma-v</x:ref>
     1139  <x:ref>Pragma-v</x:ref>          = 1#<x:ref>pragma-directive</x:ref>
    11251140  <x:ref>pragma-directive</x:ref>  = "no-cache" / <x:ref>extension-pragma</x:ref>
    11261141  <x:ref>extension-pragma</x:ref>  = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ]
    1127 </artwork>
    1128         </figure>
     1142</artwork></figure>
    11291143        <t>When the no-cache directive is present in a request message, an application &SHOULD;
    11301144          forward the request toward the origin server even if it has a cached copy of what is being
     
    11481162        <iref item="Vary header" primary="true" x:for-anchor="" />
    11491163        <iref item="Headers" primary="true" subitem="Vary" x:for-anchor="" />
    1150         <x:anchor-alias value="Vary" />
    1151         <t>The Vary response-header field's value indicates the set of request-header fields that
     1164        <x:anchor-alias value="Vary"/>
     1165        <x:anchor-alias value="Vary-v"/>
     1166        <t>The "Vary" response-header field's value indicates the set of request-header fields that
    11521167          fully determines, while the response is fresh, whether a cache is permitted to use the
    11531168          response to reply to a subsequent request without validation. For uncacheable or stale
     
    11571172          appropriate representation. See <xref target="caching.negotiated.responses" /> for use of
    11581173          the Vary header field by caches.</t>
    1159         <figure>
    1160           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Vary" />
    1161   <x:ref>Vary</x:ref>  = "Vary" ":" ( "*" / 1#<x:ref>field-name</x:ref> )
    1162 </artwork>
    1163         </figure>
     1174<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Vary"/><iref primary="true" item="Grammar" subitem="Vary-v"/>
     1175  <x:ref>Vary</x:ref>   = "Vary" ":" <x:ref>OWS</x:ref> <x:ref>Vary-v</x:ref>
     1176  <x:ref>Vary-v</x:ref> = "*" / 1#<x:ref>field-name</x:ref>
     1177</artwork></figure>
    11641178        <t>The set of header fields named by the Vary field value is known as the "selecting"
    11651179          request-headers.</t>
     
    11821196        <iref item="Warning header" primary="true" x:for-anchor="" />
    11831197        <iref item="Headers" primary="true" subitem="Warning" x:for-anchor="" />
    1184         <x:anchor-alias value="Warning" />
    1185         <x:anchor-alias value="warning-value" />
    1186         <x:anchor-alias value="warn-agent" />
    1187         <x:anchor-alias value="warn-code" />
    1188         <x:anchor-alias value="warn-date" />
    1189         <x:anchor-alias value="warn-text" />
    1190         <t>The Warning general-header field is used to carry additional information about the status
     1198        <x:anchor-alias value="Warning"/>
     1199        <x:anchor-alias value="Warning-v"/>
     1200        <x:anchor-alias value="warning-value"/>
     1201        <x:anchor-alias value="warn-agent"/>
     1202        <x:anchor-alias value="warn-code"/>
     1203        <x:anchor-alias value="warn-date"/>
     1204        <x:anchor-alias value="warn-text"/>
     1205        <t>The general-header field "Warning" is used to carry additional information about the status
    11911206          or transformation of a message which might not be reflected in the message. This
    11921207          information is typically used to warn about possible incorrectness introduced by caching
     
    11981213          specific to caches and can only be applied to response messages.</t>
    11991214
    1200         <figure>
    1201           <artwork type="abnf2616"><iref item="Grammar" primary="true" subitem="Warning" /><iref item="Grammar" primary="true" subitem="warning-value" /><iref item="Grammar" primary="true" subitem="warn-code" /><iref item="Grammar" primary="true" subitem="warn-agent" /><iref item="Grammar" primary="true" subitem="warn-text" /><iref item="Grammar" primary="true" subitem="warn-date" />
    1202   <x:ref>Warning</x:ref>    = "Warning" ":" 1#<x:ref>warning-value</x:ref>
     1215<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Warning"/><iref primary="true" item="Grammar" subitem="Warning-v"/><iref primary="true" item="Grammar" subitem="warning-value"/><iref primary="true" item="Grammar" subitem="warn-code"/><iref primary="true" item="Grammar" subitem="warn-agent"/><iref primary="true" item="Grammar" subitem="warn-text"/><iref primary="true" item="Grammar" subitem="warn-date"/>
     1216  <x:ref>Warning</x:ref>    = "Warning" ":" <x:ref>OWS</x:ref> <x:ref>Warning-v</x:ref>
     1217  <x:ref>Warning-v</x:ref>  = 1#<x:ref>warning-value</x:ref>
    12031218 
    12041219  <x:ref>warning-value</x:ref> = <x:ref>warn-code</x:ref> <x:ref>SP</x:ref> <x:ref>warn-agent</x:ref> <x:ref>SP</x:ref> <x:ref>warn-text</x:ref>
     
    12111226  <x:ref>warn-text</x:ref>  = <x:ref>quoted-string</x:ref>
    12121227  <x:ref>warn-date</x:ref>  = <x:ref>DQUOTE</x:ref> <x:ref>HTTP-date</x:ref> <x:ref>DQUOTE</x:ref>
    1213 </artwork>
    1214         </figure>
     1228</artwork></figure>
    12151229
    12161230        <t>Multiple warnings &MAY; be attached to a response (either by the origin server or by
     
    17121726      </reference>
    17131727
     1728      <reference anchor="RFC5234">
     1729        <front>
     1730          <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title>
     1731          <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor">
     1732            <organization>Brandenburg InternetWorking</organization>
     1733            <address>
     1734            <postal>
     1735            <street>675 Spruce Dr.</street>
     1736            <city>Sunnyvale</city>
     1737            <region>CA</region>
     1738            <code>94086</code>
     1739            <country>US</country></postal>
     1740            <phone>+1.408.246.8253</phone>
     1741            <email>dcrocker@bbiw.net</email></address> 
     1742          </author>
     1743          <author initials="P." surname="Overell" fullname="Paul Overell">
     1744            <organization>THUS plc.</organization>
     1745            <address>
     1746            <postal>
     1747            <street>1/2 Berkeley Square</street>
     1748            <street>99 Berkely Street</street>
     1749            <city>Glasgow</city>
     1750            <code>G3 7HR</code>
     1751            <country>UK</country></postal>
     1752            <email>paul.overell@thus.net</email></address>
     1753          </author>
     1754          <date month="January" year="2008"/>
     1755        </front>
     1756        <seriesInfo name="STD" value="68"/>
     1757        <seriesInfo name="RFC" value="5234"/>
     1758      </reference>
     1759     
    17141760    </references>
    17151761
Note: See TracChangeset for help on using the changeset viewer.