usefor-article-07 May 2002
[< Prev]
[TOC] [ Next >]
4.1. Syntax of News Articles
The overall syntax of a news article is:
article = 1*( header CRLF ) separator body
header = other-header
other-header = header-name ":" 1*SP other-content
header-name = 1*name-character *( "-" 1*name-character )
name-character = ALPHA / DIGIT
other-content = <the content of a header defined by some
other standard>
separator = CRLF
body = *( *998text CRLF )
However, the rule given above for header is incomplete. Further
alternatives will be added incrementally as the various Netnews
headers are introduced in this standard (or in future extensions),
using the "=/" notation defined in [RFC 2234]. For example, a
typical USENET-header would be defined as follows:
header =/ USENET-header
USENET-header = "USENET" ":" SP USENET-content
*( ";" ( USENET-parameter /
other-parameter ) )
USENET-content = <syntax specific to that USENET-header>
USENET-parameter = <a parameter specific to that USENET-header>
where the USENET-parameter, which MUST always be of the same
syntactic form as an other-parameter (see below), is not provided in
all headers, and even the other-parameter is omitted in some cases
cases (see 4.2.2). Observe that "USENET" is (and MUST be) of the
syntactic form of a header-name.
other-parameter = <a parameter not defined by this standard>
parameter = attribute "=" value
attribute = [CFWS] token [CFWS]
x-token = "x-" token
token = 1*<any (US-ASCII) CHAR except SP, CTLs,
or tspecials>
tspecials = "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" / "="
value = [CFWS] token [CFWS] / quoted-string
An article consists of some headers followed by a body. An empty line
separates the two. The headers contain structured information about
the article and its transmission. A header begins with a header-name
identifying it, and can be continued onto subsequent lines as
described in section 4.2.3. The body is largely unstructured text
significant only to the poster and the readers.
NOTE: Terminology here follows the current custom in the news
community, rather than the [RFC 2822] convention of referring to
what is here called a "header" as a "header-field" or "field".
Note that the separator line MUST be truly empty, not just a line
containing white space. Further empty lines following it are part of
the body, as are empty lines at the end of the article.
NOTE: The syntax above defines the canonical form of a news
article as a sequence of lines each terminated by CRLF. This
does not prevent serving agents or transport agents from storing
or handling the article in other formats (e.g. using a single LF
in place of CRLF) so long as the overall effects achieved are as
defined by this standard when operating on the canonical form.
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-article-06/Syntax_of_News_Articles.out November 2001
+++ ../usefor-article-07/Syntax_of_News_Articles.out May 2002
@@ -2,45 +2,45 @@
The overall syntax of a news article is:
- article = 1*header separator body
- header = header-name ":" 1*SP header-content CRLF
+ article = 1*( header CRLF ) separator body
+ header = other-header
+ other-header = header-name ":" 1*SP other-content
header-name = 1*name-character *( "-" 1*name-character )
name-character = ALPHA / DIGIT
- header-content = USENET-header-content
- *( [CFWS] ";" header-parameter ) /
- other-header-content
- USENET-header-content
- = <the header-content defined in this standard
- (or an extension of it) for a specific
- USENET header>
- other-header-content
- = <a header-content defined (explicitly or
- implicitly) by some other standard>
- header-parameter = USENET-header-parameter /
- other-header-parameter
- USENET-header-parameter
- = <an other-header-parameter defined in
- this standard for use in conjunction with
- a specific USENET-header-content>
- other-header-parameter
- = attribute "=" value
- attribute = USENET-token / iana-token / x-token
- value = token / quoted-string
- USENET-token = <A token defined in this standard for
- use in conjunction with a specific
- USENET-header-parameter>
- iana-token = <A token defined in an experimental
- or standards-track RFC and registered with
- IANA>
- x-token = [CFWS] "x-" token-core [CFWS]
- token = [CFWS] token-core [CFWS]
- token-core = 1*<any (US-ASCII) CHAR except SP, CTLs,
+ other-content = <the content of a header defined by some
+ other standard>
+ separator = CRLF
+ body = *( *998text CRLF )
+
+ However, the rule given above for header is incomplete. Further
+ alternatives will be added incrementally as the various Netnews
+ headers are introduced in this standard (or in future extensions),
+ using the "=/" notation defined in [RFC 2234]. For example, a
+ typical USENET-header would be defined as follows:
+
+ header =/ USENET-header
+ USENET-header = "USENET" ":" SP USENET-content
+ *( ";" ( USENET-parameter /
+ other-parameter ) )
+ USENET-content = <syntax specific to that USENET-header>
+ USENET-parameter = <a parameter specific to that USENET-header>
+
+ where the USENET-parameter, which MUST always be of the same
+ syntactic form as an other-parameter (see below), is not provided in
+ all headers, and even the other-parameter is omitted in some cases
+ cases (see 4.2.2). Observe that "USENET" is (and MUST be) of the
+ syntactic form of a header-name.
+
+ other-parameter = <a parameter not defined by this standard>
+ parameter = attribute "=" value
+ attribute = [CFWS] token [CFWS]
+ x-token = "x-" token
+ token = 1*<any (US-ASCII) CHAR except SP, CTLs,
or tspecials>
tspecials = "(" / ")" / "<" / ">" / "@" /
"," / ";" / ":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" / "="
- separator = CRLF
- body = *( *998text CRLF )
+ value = [CFWS] token [CFWS] / quoted-string
An article consists of some headers followed by a body. An empty line
separates the two. The headers contain structured information about