Syntax Forms


The following are ABNF grammar definitions derived from IETF RFC documents that may apply to syntax that must be conformed when implementing internet messages in Framework EDI.

Reserved Words Syntax Form Notes
address mailbox / group  
address-list (address *("," address))
addr-spec local-part "@" domain The local-part is case sensitive, but the domain is not.
ALPHA <Any ASCII alphabetic character>  
angle-addr "<" addr-spec ">"
AS2-disposition-field "Disposition" ":" MDN-disposition-mode ";" AS2-disposition-type [ '/' AS2-disposition-modifier ]
AS2-disposition-modifier ( "error" / "warning" ) / AS2-disposition-modifier-extension
AS2-disposition-modifier-extension "error: authentication-failed" /
"error: decompression-failed" /
"error: decryption-failed" /
"error: insufficient-message-security" /
"error: integrity-check-failed" /
"error: unexpected-processing-error" /
"warning: " AS2-MDN-warning-description /
"failure: " AS2-MDN-failure-description
AS2-MDN-failure-description * text
AS2-MDN-warning-description * text
AS2-disposition-type "processed" / "failed"
atext ALPHA / DIGIT
/ "!" / "#"
/ "$" / "%"
/ "&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
atom [CFWS] 1*atext [CFWS]  
attribute token Matching of attributes is ALWAYS case-insensitive.
bcc "Bcc:" (address-list / [CFWS]) CRLF
body *(*998text CRLF) *998text Lines in a message MUST be a maximum of 998 characters excluding the CRLF.
cc "Cc:" address-list CRLF
ccontent ctext / quoted-pair / comment
CFWS *([FWS] comment) (([FWS] comment) / FWS)
CHAR <any ASCII character>  
comment "(" *([FWS] ccontent) [FWS] ")"  
comments "Comments:" unstructured CRLF
composite-type "message" / "multipart" / extension-token
content "Content-Type" ":" type "/" subtype parameters Matching of media type and subtype is ALWAYS case-insensitive.
CR <ASCII CR, carriage return>  
creation-date-parm "creation-date" "=" quoted-date-time
CRLF CR LF  
ctext  NO-WS-CTL /
%d33-39 /
%d42-91 /
%d93-126
Non white space controls
The rest of the US-ASCII characters not including "(", ")", or "\"
CTL <any ASCII control character and DEL>   
date day month year (See RFCs 822, 2822) 
date-time [ day-of-week "," ] date FWS time [CFWS] RFC2822 Sect 3.3: "A date-time specification MUST be semantically valid. That is, the day-of-the-week (if included) MUST be the day implied by the date, the numeric day-of-month MUST be between 1 and the number of days allowed for the specified month (in the specified year), the time-of-day MUST be in the range 00:00:00 through 23:59:60 (the number of seconds allowing for a leap second; see [STD12]), and the zone MUST be within the range -9959 through +9959."
day [FWS] 1 * 2DIGIT RFC2822 Sect 3.3: "The numeric day-of-month MUST be between 1 and the number of days allowed for the specified month (in the specified year), .."
day-name "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun"
day-of-week [FWS] day-name RFC2822 Sect 3.3: ".. the day-of-the-week (if included) MUST be the day implied by the date, .."
dcontent dtext / quoted-pair
description "Content-Description" ":" *text
DIGIT <any ASCII decimal digit>  
discrete-type "text" / "image" / "audio" / "video" / "application" / extension-token
display-name phrase
disposition "Content-Disposition" ":" disposition-type
*(";" disposition-parm)
disposition-parm filename-parm
/ creation-date-parm
/ modification-date-parm
/ read-date-parm
/ size-parm
/ parameter
disposition-type "inline"
/ "attachment"
/ extension-token
Values are not case-sensitive
domain dot-atom / domain-literal  
domain-literal [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]  
dot-atom [CFWS] dot-atom-text [CFWS]
dot-atom-text 1*atext*("." 1*atext)
DQUOTE <double-quote>
dtext  NO-WS-CTL /
%d33-90 /
%d94-126
Non white space controls
The rest of the US-ASCII characters not including "[",
encoding "Content-Transfer-Encoding" ":" mechanism
entity-headers [ content CRLF ]
[ encoding CRLF ]
[ id CRLF ]
[ description CRLF ]
*( MIME-extension-field CRLF)
extension-token ietf-token / x-token
field field-name ":" [ field-body ] CRLF  
fields *(trace
   *(resent-date /
      resent-from /
      resent-sender /
      resent-to /
      resent-cc /
      resent-bcc /
      resent-msg-id))
*(orig-date /
   from /
   sender /
   reply-to /
   to /
   cc /
   bcc /
   message-id /
   in-reply-to /
   references /
   subject /
   comments /
   keywords /
   optional-field)
 
field-name 1 * ftext  
filename-parm "filename" "=" value
forward-path "<" [obs-route] addr-spec ">"
from "From:" mailbox-list CRLF
ftext %d33-57 /
%d59-126
Any character except controls, SP, and ":".
FWS [*WSP CRLF] 1*WSP Folding white space
group display-name ":" [mailbox-list / CFWS] ";"[CFWS]  
hex-octet "=" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F") Octet must be used for characters > 127, =,
SPACEs or TABs at the ends of lines, and is
recommended for any character not listed in
RFC 2049 as "mail-safe".
hour 2DIGIT (See RFCs 822, 2822)
HTAB %d9  ASCII value 9
iana-token <A publicly-defined extension token. Tokens of this form must be registered with IANA as specified in RFC 2048.>
id "Content-ID" ":" msg-id
id-left dot-atom-text / no-fold-quote
id-right dot-atom-text / no-fold-literal
ietf-token <An extension token defined by a standards-track RFC and registered with IANA.>
in-reply-to "In-Reply-To:" 1*msg-id CRLF
item-name ALPHA *(["-"] (ALPHA / DIGIT))
item-value 1*angle-addr / addr-spec / atom / domain / msg-id
keywords "Keywords:" phrase *("," phrase) CRLF
LF <ASCII LF, linefeed>  
local-part dot-atom / quoted-string  
mailbox name-addr / addr-spec  
mailbox-list (mailbox *("," mailbox))
mechanism "7bit" / "8bit" / "binary" /
"quoted-printable" / "base64" /
ietf-token / x-token
message fields [CRLF body]  
message-id "Message-ID:" msg-id CRLF
MDN-action-mode "manual-action" / "automatic-action"
MDN-disposition-field "Disposition" ":" MDN-disposition-mode ";" MDN-disposition-type 
[ "/" MDN-disposition-modifier *( "," MDN-disposition-modifier ) ]
MDN-disposition-mode MDN-action-mode "/" MDN-sending-mode
MDN-disposition-modifier "error" / MDN-disposition-modifier-extension
MDN-disposition-modifier-extension atom
MDN-disposition-type "displayed" / "deleted"
MDN-sending-mode "MDN-sent-manually" / "MDN-sent-automatically"
MIME-extension-field <Any RFC 822 header field which begins with the string "Content-">
MIME-message-headers entity-headers fields version CRLF The ordering of the header fields implied by this BNF definition should be ignored.
MIME-part-headers entity-headers [fields] Any field not beginning with "content-" can have no defined meaning and may be ignored.  The ordering of the header fields implied by this BNF definition should be ignored.
minute 2DIGIT (See RFCs 822, 2822)
modification-date-parm "modification-date" "=" quoted-date-time
month FWS month-name FWS (See RFCs 822, 2822)
month-name "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec" (See RFCs 822, 2822)
msg-id "<" id-left "@" id-right ">"  
name-addr [display-name] angle-addr
name-val-list [CFWS] [name-val-pair *(CFWS name-val-pair)]
name-val-pair item-name CFWS item-value
no-fold-literal "[" *(dtext / quoted-pair) "]"
no-fold-quote DQUOTE *(qtext / quoted-pair) DQUOTE
NO-WS-CTL %d1-8 /
%d11 /
%d12 /
%d14-31 /
%d127
US-ASCII control characters that do not include the carriage return, line feed, and white space characters.
optional-field field-name ":" unstructured CRLF  
orig-date "Date" ":" date-time CRLF  
parameter attribute "=" value
parameters *(";" parameter)
path [CFWS] "<" ([CFWS] / addr-spec) ">" [CFWS]
phrase 1*word
ptext hex-octet / safe-char
qcontent qtext / quoted-pair
qp-line *(qp-segment transport-padding CRLF)
qp-part transport-padding
qp-part qp-section Maximum length of 76 characters
qp-section [*(ptext / WSP) ptext]
qp-segment qp-section *WSP "=" Maximum length of 76 characters
qtext NO-WS-CTL /
%d33 /
%d35-91 /
%d93-126
Non white space controls
The rest of the US-ASCII characters not including "\" or the quote character.
quoted-date-time quoted-string Contents MUST be an RFC 822 `date-time'
Numeric timezones (+HHMM or -HHMM) MUST be used
quoted-pair "\" text
quoted-printable qp-line *(CRLF qp-line)
quoted-string [CFWS]
DQUOTE *([FWS] qcontent) [FWS] DQUOTE
[CFWS]
 
read-date-parm "read-date" "=" quoted-date-time
received "Received:" name-val-list ";" date-time CRLF  
references "References:" 1*msg-id CRLF
reply-to "Reply-To:" address-list CRLF
resent-bcc "Resent-Bcc:" (address-list / [CFWS]) CRLF
resent-cc "Resent-Cc:" address-list CRLF
resent-date "Resent-Date:" date-time CRLF  
resent-from "Resent-From:" mailbox-list CRLF
resent-msg-id "Resent-Message-ID:" msg-id CRLF
resent-sender "Resent-Sender:" mailbox CRLF
resent-to "Resent-To:" address-list CRLF
return "Return-path" ":" path
Reverse-path "<" [obs-route ] addr-spec ">"
safe-char <any octet with decimal value of 33 through 60 inclusive, and 62 through 126> Characters not listed as "mail-safe" in RFC 2049 are also not recommended.
second 2DIGIT (See RFCs 822, 2822)
sender "Sender:" mailbox CRLF
size-parm "size" "=" 1*DIGIT
SPACE %d32 ASCII value 32
specials "(" / ")" / "<" /">" / "@" / "," / ";" / ":" / "\" / <"> / "." / "[" / "]" DQUOTE
subject "Subject:" unstructured CRLF
subtype extension-token / iana-token
text %d1-9 /
%d11 /
%d12 /
%d14-127
Any CHAR, including bare CR & bare LF, but NOT including CRLF.
time time-of-day FWS zone
time-of-day hour ":" minute [ ":" second ] RFC2822 Sect 3.3: "..the time-of-day MUST be in the range 00:00:00 through 23:59:60 (the number of seconds allowing for a leap second; see [STD12]), .."
to "To:" address-list CRLF
token 1*<any (US-ASCII) CHAR except SPACE, CTLs, or tspecials>
trace return 1*received
transport-padding *WSP Composers MUST NOT generate non-zero length transport padding, but receivers MUST be able to handle padding added by message transports.
tspecials "(" / ")" / "<" /">" / "@" /
"," / ";" / ":" / "\" / <">
"/" / "[" / "]" / "?" / "="
Must be in quoted-string, to use within parameter values
type discrete-type / composite-type
unstructured *([FWS] utext) [FWS]
utext NO-WS-CTL /
%d33-126
Non white space controls
The rest of US-ASCII
value token / quoted-string
version "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
word atom / quoted-string
WSP SPACE / HTAB
x-token <The two characters "X-" or "x-" followed, with no intervening white space, by any token>
year 4*DIGIT / obs-year RFC2822 Sect 3.3: "..The year is any numeric year 1900 or later."
zone (( "+" / "-" ) 4DIGIT) / obs-zone RFC2822 Sect 3.3: "..the zone MUST be within the range -9959 through +9959.."
obs-domain-list "@" domain *(*(CFWS/ "," ) [CFWS] "@" domain)
obs-route [CFWS] obs-domain-list ":" [CFWS] This is the source routing used in older systems of SMTP and should no longer be used.  However, if present, it should be accepted and it should be ignored.
obs-year [CFWS] 2*DIGIT [CFWS]
obs-zone "UT" / "GMT" /


"EST" / "EDT" /
"CST" / "CDT" /
"MST" / "MDT" /
"PST" / "PDT" /
%d65-73 /
%d75-90 /
%d97-105 /
%d107-122
RFC822 Sect 5.1: "Universal Time
North American UT
offsets
Eastern: - 5/ - 4
Central: - 6/ - 5
Mountain: - 7/ - 6
Pacific: - 8/ - 7
Military zones - "A"
through "I" and "K"
through "Z", both
upper and lower case"

 

NOTE:  Portions of text on this HTML page were copied from RFC documents.  Only those portions of text on this page apply to the copyright notice below.  For more information please visit http://www.ietf.org

Copyright (C) The Internet Society (2001). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

Edidev Online Documentation.  Terms and Conditions.