Ignore:
Timestamp:
Nov 5, 2008, 6:50:10 AM (11 years ago)
Author:
julian.reschke@…
Message:

use "/" instead of "|" for alternatives (related to #36)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p1-messaging.xml

    r331 r334  
    700700</t>
    701701<t>
    702    rule1 | rule2
     702   rule1 / rule2
    703703  <list>
    704704    <t>
    705       Elements separated by a bar ("|") are alternatives, e.g., "yes |
     705      Elements separated by a forward slash ("/") are alternatives, e.g., "yes /
    706706      no" will accept yes or no.
    707707    </t>
     
    713713    <t>
    714714      Elements enclosed in parentheses are treated as a single element.
    715       Thus, "(elem (foo | bar) elem)" allows the token sequences "elem
     715      Thus, "(elem (foo / bar) elem)" allows the token sequences "elem
    716716      foo elem" and "elem bar elem".
    717717    </t>
     
    829829  <x:ref>CHAR</x:ref>           = %x01-7F
    830830                   ; any US-ASCII character, excluding NUL
    831   <x:ref>ALPHA</x:ref>          = %x41-5A | %x61-7A
    832                    ; A-Z | a-z
     831  <x:ref>ALPHA</x:ref>          = %x41-5A / %x61-7A
     832                   ; A-Z / a-z
    833833  <x:ref>DIGIT</x:ref>          = %x30-39
    834834                   ; any US-ASCII digit "0".."9"
    835   <x:ref>CTL</x:ref>            = %x00-1F | %x7F
     835  <x:ref>CTL</x:ref>            = %x00-1F / %x7F
    836836                   ; (octets 0 - 31) and DEL (127)
    837837  <x:ref>CR</x:ref>             = %x0D
     
    865865</t>
    866866<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="LWS"/>
    867   <x:ref>LWS</x:ref>            = [<x:ref>CRLF</x:ref>] 1*( <x:ref>SP</x:ref> | <x:ref>HTAB</x:ref> )
     867  <x:ref>LWS</x:ref>            = [<x:ref>CRLF</x:ref>] 1*( <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref> )
    868868</artwork></figure>
    869869<t anchor="rule.TEXT">
     
    876876</t>
    877877<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TEXT"/>
    878   <x:ref>TEXT</x:ref>           = %x20-7E | %x80-FF | <x:ref>LWS</x:ref>
     878  <x:ref>TEXT</x:ref>           = %x20-7E / %x80-FF / <x:ref>LWS</x:ref>
    879879                 ; any <x:ref>OCTET</x:ref> except <x:ref>CTL</x:ref>s, but including <x:ref>LWS</x:ref>
    880880</artwork></figure>
     
    889889</t>
    890890<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HEXDIG"/>
    891   <x:ref>HEXDIG</x:ref>         = "A" | "B" | "C" | "D" | "E" | "F"
    892                  | "a" | "b" | "c" | "d" | "e" | "f" | <x:ref>DIGIT</x:ref>
     891  <x:ref>HEXDIG</x:ref>         = "A" / "B" / "C" / "D" / "E" / "F"
     892                 / "a" / "b" / "c" / "d" / "e" / "f" / <x:ref>DIGIT</x:ref>
    893893</artwork></figure>
    894894<t anchor="rule.token.separators">
     
    902902</t>
    903903<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="token"/><iref primary="true" item="Grammar" subitem="tchar"/><iref primary="true" item="Grammar" subitem="separators"/>
    904   <x:ref>separators</x:ref>     = "(" | ")" | "&lt;" | "&gt;" | "@"
    905                  | "," | ";" | ":" | "\" | <x:ref>DQUOTE</x:ref>
    906                  | "/" | "[" | "]" | "?" | "="
    907                  | "{" | "}" | <x:ref>SP</x:ref> | <x:ref>HTAB</x:ref>
     904  <x:ref>separators</x:ref>     = "(" / ")" / "&lt;" / "&gt;" / "@"
     905                 / "," / ";" / ":" / "\" / <x:ref>DQUOTE</x:ref>
     906                 / "/" / "[" / "]" / "?" / "="
     907                 / "{" / "}" / <x:ref>SP</x:ref> / <x:ref>HTAB</x:ref>
    908908                 
    909   <x:ref>tchar</x:ref>          = "!" | "#" | "$" | "%" | "&amp;" | "'" | "*"
    910                  | "+" | "-" | "." | "^" | "_" | "`" | "|" | "~"
    911                  | <x:ref>DIGIT</x:ref> | <x:ref>ALPHA</x:ref>
     909  <x:ref>tchar</x:ref>          = "!" / "#" / "$" / "%" / "&amp;" / "'" / "*"
     910                 / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~"
     911                 / <x:ref>DIGIT</x:ref> / <x:ref>ALPHA</x:ref>
    912912                 ; any <x:ref>CHAR</x:ref> except <x:ref>CTL</x:ref>s or <x:ref>separators</x:ref>
    913913                 
     
    924924</t>
    925925<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="comment"/><iref primary="true" item="Grammar" subitem="ctext"/>
    926   <x:ref>comment</x:ref>        = "(" *( <x:ref>ctext</x:ref> | <x:ref>quoted-pair</x:ref> | <x:ref>comment</x:ref> ) ")"
     926  <x:ref>comment</x:ref>        = "(" *( <x:ref>ctext</x:ref> / <x:ref>quoted-pair</x:ref> / <x:ref>comment</x:ref> ) ")"
    927927  <x:ref>ctext</x:ref>          = &lt;any <x:ref>TEXT</x:ref> excluding "(" and ")"&gt;
    928928</artwork></figure>
     
    934934</t>
    935935<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-string"/><iref primary="true" item="Grammar" subitem="qdtext"/>
    936   <x:ref>quoted-string</x:ref>  = ( <x:ref>DQUOTE</x:ref> *(<x:ref>qdtext</x:ref> | <x:ref>quoted-pair</x:ref> ) <x:ref>DQUOTE</x:ref> )
     936  <x:ref>quoted-string</x:ref>  = ( <x:ref>DQUOTE</x:ref> *(<x:ref>qdtext</x:ref> / <x:ref>quoted-pair</x:ref> ) <x:ref>DQUOTE</x:ref> )
    937937  <x:ref>qdtext</x:ref>         = &lt;any <x:ref>TEXT</x:ref> excluding <x:ref>DQUOTE</x:ref> and "\">
    938938</artwork></figure>
     
    944944</t>
    945945<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="quoted-text"/><iref primary="true" item="Grammar" subitem="quoted-pair"/>
    946   <x:ref>quoted-text</x:ref>    = %x01-09 |
    947                    %x0B-0C |
     946  <x:ref>quoted-text</x:ref>    = %x01-09 /
     947                   %x0B-0C /
    948948                   %x0E-FF ; Characters excluding NUL, <x:ref>CR</x:ref> and <x:ref>LF</x:ref>
    949949  <x:ref>quoted-pair</x:ref>    = "\" <x:ref>quoted-text</x:ref>
     
    12281228</t>
    12291229<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-date"/><iref primary="true" item="Grammar" subitem="rfc1123-date"/><iref primary="true" item="Grammar" subitem="obsolete-date"/><iref primary="true" item="Grammar" subitem="rfc850-date"/><iref primary="true" item="Grammar" subitem="asctime-date"/><iref primary="true" item="Grammar" subitem="date1"/><iref primary="true" item="Grammar" subitem="date2"/><iref primary="true" item="Grammar" subitem="date3"/><iref primary="true" item="Grammar" subitem="time"/><iref primary="true" item="Grammar" subitem="wkday"/><iref primary="true" item="Grammar" subitem="weekday"/><iref primary="true" item="Grammar" subitem="month"/>
    1230   <x:ref>HTTP-date</x:ref>    = <x:ref>rfc1123-date</x:ref> | <x:ref>obsolete-date</x:ref>
    1231   <x:ref>obsolete-date</x:ref> = <x:ref>rfc850-date</x:ref> | <x:ref>asctime-date</x:ref>
     1230  <x:ref>HTTP-date</x:ref>    = <x:ref>rfc1123-date</x:ref> / <x:ref>obsolete-date</x:ref>
     1231  <x:ref>obsolete-date</x:ref> = <x:ref>rfc850-date</x:ref> / <x:ref>asctime-date</x:ref>
    12321232  <x:ref>rfc1123-date</x:ref> = <x:ref>wkday</x:ref> "," <x:ref>SP</x:ref> date1 <x:ref>SP</x:ref> time <x:ref>SP</x:ref> GMT
    12331233  <x:ref>rfc850-date</x:ref>  = <x:ref>weekday</x:ref> "," <x:ref>SP</x:ref> date2 <x:ref>SP</x:ref> time <x:ref>SP</x:ref> GMT
     
    12371237  <x:ref>date2</x:ref>        = 2<x:ref>DIGIT</x:ref> "-" <x:ref>month</x:ref> "-" 2<x:ref>DIGIT</x:ref>
    12381238                 ; day-month-year (e.g., 02-Jun-82)
    1239   <x:ref>date3</x:ref>        = <x:ref>month</x:ref> <x:ref>SP</x:ref> ( 2<x:ref>DIGIT</x:ref> | ( <x:ref>SP</x:ref> 1<x:ref>DIGIT</x:ref> ))
     1239  <x:ref>date3</x:ref>        = <x:ref>month</x:ref> <x:ref>SP</x:ref> ( 2<x:ref>DIGIT</x:ref> / ( <x:ref>SP</x:ref> 1<x:ref>DIGIT</x:ref> ))
    12401240                 ; month day (e.g., Jun  2)
    12411241  <x:ref>time</x:ref>         = 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref> ":" 2<x:ref>DIGIT</x:ref>
    12421242                 ; 00:00:00 - 23:59:59
    1243   <x:ref>wkday</x:ref>        = s-Mon | s-Tue | s-Wed
    1244                | s-Thu | s-Fri | s-Sat | s-Sun
    1245   <x:ref>weekday</x:ref>      = l-Mon | l-Tue | l-Wed
    1246                | l-Thu | l-Fri | l-Sat | l-Sun
    1247   <x:ref>month</x:ref>        = s-Jan | s-Feb | s-Mar | s-Apr
    1248                | s-May | s-Jun | s-Jul | s-Aug
    1249                | s-Sep | s-Oct | s-Nov | s-Dec
     1243  <x:ref>wkday</x:ref>        = s-Mon / s-Tue / s-Wed
     1244               / s-Thu / s-Fri / s-Sat / s-Sun
     1245  <x:ref>weekday</x:ref>      = l-Mon / l-Tue / l-Wed
     1246               / l-Thu / l-Fri / l-Sat / l-Sun
     1247  <x:ref>month</x:ref>        = s-Jan / s-Feb / s-Mar / s-Apr
     1248               / s-May / s-Jun / s-Jul / s-Aug
     1249               / s-Sep / s-Oct / s-Nov / s-Dec
    12501250               
    12511251  GMT   = <x:abnf-char-sequence>"GMT"</x:abnf-char-sequence> ; "GMT", case-sensitive
     
    13011301</t>
    13021302<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="transfer-coding"/><iref primary="true" item="Grammar" subitem="transfer-extension"/>
    1303   <x:ref>transfer-coding</x:ref>         = "chunked" | <x:ref>transfer-extension</x:ref>
     1303  <x:ref>transfer-coding</x:ref>         = "chunked" / <x:ref>transfer-extension</x:ref>
    13041304  <x:ref>transfer-extension</x:ref>      = <x:ref>token</x:ref> *( ";" <x:ref>parameter</x:ref> )
    13051305</artwork></figure>
     
    13131313  <x:ref>parameter</x:ref>               = <x:ref>attribute</x:ref> "=" <x:ref>value</x:ref>
    13141314  <x:ref>attribute</x:ref>               = <x:ref>token</x:ref>
    1315   <x:ref>value</x:ref>                   = <x:ref>token</x:ref> | <x:ref>quoted-string</x:ref>
     1315  <x:ref>value</x:ref>                   = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref>
    13161316</artwork></figure>
    13171317<t>
     
    13861386  <x:ref>chunk-extension</x:ref>= *( ";" <x:ref>chunk-ext-name</x:ref> [ "=" <x:ref>chunk-ext-val</x:ref> ] )
    13871387  <x:ref>chunk-ext-name</x:ref> = <x:ref>token</x:ref>
    1388   <x:ref>chunk-ext-val</x:ref>  = <x:ref>token</x:ref> | <x:ref>quoted-string</x:ref>
     1388  <x:ref>chunk-ext-val</x:ref>  = <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref>
    13891389  <x:ref>chunk-data</x:ref>     = 1*<x:ref>OCTET</x:ref> ; a sequence of chunk-size octets
    13901390  <x:ref>trailer-part</x:ref>   = *(<x:ref>entity-header</x:ref> <x:ref>CRLF</x:ref>)
     
    14991499</t>
    15001500<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="HTTP-message"/>
    1501   <x:ref>HTTP-message</x:ref>   = <x:ref>Request</x:ref> | <x:ref>Response</x:ref>     ; HTTP/1.1 messages
     1501  <x:ref>HTTP-message</x:ref>   = <x:ref>Request</x:ref> / <x:ref>Response</x:ref>     ; HTTP/1.1 messages
    15021502</artwork></figure>
    15031503<t>
     
    15141514                    <x:ref>CRLF</x:ref>
    15151515                    [ <x:ref>message-body</x:ref> ]
    1516   <x:ref>start-line</x:ref>      = <x:ref>Request-Line</x:ref> | <x:ref>Status-Line</x:ref>
     1516  <x:ref>start-line</x:ref>      = <x:ref>Request-Line</x:ref> / <x:ref>Status-Line</x:ref>
    15171517</artwork></figure>
    15181518<t>
     
    15521552  <x:ref>message-header</x:ref> = <x:ref>field-name</x:ref> ":" [ <x:ref>field-value</x:ref> ]
    15531553  <x:ref>field-name</x:ref>     = <x:ref>token</x:ref>
    1554   <x:ref>field-value</x:ref>    = *( <x:ref>field-content</x:ref> | <x:ref>LWS</x:ref> )
     1554  <x:ref>field-value</x:ref>    = *( <x:ref>field-content</x:ref> / <x:ref>LWS</x:ref> )
    15551555  <x:ref>field-content</x:ref>  = &lt;field content&gt;
    15561556                   ; the <x:ref>OCTET</x:ref>s making up the field-value
     
    16091609<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="message-body"/>
    16101610  <x:ref>message-body</x:ref> = <x:ref>entity-body</x:ref>
    1611                | &lt;entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>&gt;
     1611               / &lt;entity-body encoded as per <x:ref>Transfer-Encoding</x:ref>&gt;
    16121612</artwork></figure>
    16131613<t>
     
    17421742<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="general-header"/>
    17431743  <x:ref>general-header</x:ref> = <x:ref>Cache-Control</x:ref>            ; &header-cache-control;
    1744                  | <x:ref>Connection</x:ref>               ; <xref target="header.connection"/>
    1745                  | <x:ref>Date</x:ref>                     ; <xref target="header.date"/>
    1746                  | <x:ref>Pragma</x:ref>                   ; &header-pragma;
    1747                  | <x:ref>Trailer</x:ref>                  ; <xref target="header.trailer"/>
    1748                  | <x:ref>Transfer-Encoding</x:ref>        ; <xref target="header.transfer-encoding"/>
    1749                  | <x:ref>Upgrade</x:ref>                  ; <xref target="header.upgrade"/>
    1750                  | <x:ref>Via</x:ref>                      ; <xref target="header.via"/>
    1751                  | <x:ref>Warning</x:ref>                  ; &header-warning;
     1744                 / <x:ref>Connection</x:ref>               ; <xref target="header.connection"/>
     1745                 / <x:ref>Date</x:ref>                     ; <xref target="header.date"/>
     1746                 / <x:ref>Pragma</x:ref>                   ; &header-pragma;
     1747                 / <x:ref>Trailer</x:ref>                  ; <xref target="header.trailer"/>
     1748                 / <x:ref>Transfer-Encoding</x:ref>        ; <xref target="header.transfer-encoding"/>
     1749                 / <x:ref>Upgrade</x:ref>                  ; <xref target="header.upgrade"/>
     1750                 / <x:ref>Via</x:ref>                      ; <xref target="header.via"/>
     1751                 / <x:ref>Warning</x:ref>                  ; &header-warning;
    17521752</artwork></figure>
    17531753<t>
     
    17731773  <x:ref>Request</x:ref>       = <x:ref>Request-Line</x:ref>              ; <xref target="request-line"/>
    17741774                  *(( <x:ref>general-header</x:ref>        ; <xref target="general.header.fields"/>
    1775                    | <x:ref>request-header</x:ref>         ; &request-header-fields;
    1776                    | <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>)  ; &entity-header-fields;
     1775                   / <x:ref>request-header</x:ref>         ; &request-header-fields;
     1776                   / <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>)  ; &entity-header-fields;
    17771777                  <x:ref>CRLF</x:ref>
    17781778                  [ <x:ref>message-body</x:ref> ]          ; <xref target="message.body"/>
     
    18101810<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Request-URI"/>
    18111811  <x:ref>Request-URI</x:ref>    = "*"
    1812                  | <x:ref>absoluteURI</x:ref>
    1813                  | ( <x:ref>path-absolute</x:ref> [ "?" <x:ref>query</x:ref> ] )
    1814                  | <x:ref>authority</x:ref>
     1812                 / <x:ref>absoluteURI</x:ref>
     1813                 / ( <x:ref>path-absolute</x:ref> [ "?" <x:ref>query</x:ref> ] )
     1814                 / <x:ref>authority</x:ref>
    18151815</artwork></figure>
    18161816<t>
     
    19391939  <x:ref>Response</x:ref>      = <x:ref>Status-Line</x:ref>               ; <xref target="status-line"/>
    19401940                  *(( <x:ref>general-header</x:ref>        ; <xref target="general.header.fields"/>
    1941                    | <x:ref>response-header</x:ref>        ; &response-header-fields;
    1942                    | <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>)  ; &entity-header-fields;
     1941                   / <x:ref>response-header</x:ref>        ; &response-header-fields;
     1942                   / <x:ref>entity-header</x:ref> ) <x:ref>CRLF</x:ref>)  ; &entity-header-fields;
    19431943                  <x:ref>CRLF</x:ref>
    19441944                  [ <x:ref>message-body</x:ref> ]          ; <xref target="message.body"/>
     
    26522652<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="TE"/><iref primary="true" item="Grammar" subitem="t-codings"/>
    26532653  <x:ref>TE</x:ref>        = "TE" ":" #( <x:ref>t-codings</x:ref> )
    2654   <x:ref>t-codings</x:ref> = "trailers" | ( <x:ref>transfer-extension</x:ref> [ <x:ref>accept-params</x:ref> ] )
     2654  <x:ref>t-codings</x:ref> = "trailers" / ( <x:ref>transfer-extension</x:ref> [ <x:ref>accept-params</x:ref> ] )
    26552655</artwork></figure>
    26562656<t>
     
    28662866  <x:ref>protocol-name</x:ref>     = <x:ref>token</x:ref>
    28672867  <x:ref>protocol-version</x:ref>  = <x:ref>token</x:ref>
    2868   <x:ref>received-by</x:ref>       = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) | <x:ref>pseudonym</x:ref>
     2868  <x:ref>received-by</x:ref>       = ( <x:ref>uri-host</x:ref> [ ":" <x:ref>port</x:ref> ] ) / <x:ref>pseudonym</x:ref>
    28692869  <x:ref>pseudonym</x:ref>         = <x:ref>token</x:ref>
    28702870</artwork></figure>
     
    47084708  </list>
    47094709</t>
     4710<t>
     4711  Ongoing work on ABNF conversion (<eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/36"/>):
     4712  <list style="symbols">
     4713    <t>
     4714      Use "/" instead of "|" for alternatives.
     4715    </t>
     4716  </list>
     4717</t>
    47104718</section>
    47114719
Note: See TracChangeset for help on using the changeset viewer.