Corrections to "A Syntax for Describing Media Feature Sets"
Two small fixes to the media feature set syntax and matching rules of RFC 2533.
Klyne, G., "Corrections to "A Syntax for Describing Media Feature Sets"", RFC 2738, DOI 10.17487/RFC2738, December 1999, <https://www.rfc-editor.org/info/rfc2738>.
@misc{rfc2738,
series = {Request for Comments},
number = 2738,
howpublished = {RFC 2738},
publisher = {RFC Editor},
doi = {10.17487/RFC2738},
url = {https://www.rfc-editor.org/info/rfc2738},
author = {G. Klyne},
title = {{Corrections to "A Syntax for Describing Media Feature Sets"}},
pagetotal = 5,
year = 1999,
month = dec,
} RFC text
Contents
Network Working Group G. Klyne
Request for Comments: 2738 Content Technologies
Updates: 2533 December 1999
Category: Standards Track
Corrections to "A Syntax for Describing Media Feature Sets"
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
In RFC 2533, "A Syntax for Describing Media Feature Sets", an
expression format is presented for describing media feature
capabilities using simple media feature tags.
This memo contains two corrections to that specification: one fixes
an error in the formal syntax specification, and the other fixes an
error in the rules for reducing feature comparison predicates.
Table of Contents
1. Introduction ............................................2
1.1 Terminology and document conventions 2
1.2 Discussion of this document 2
2. Correction to feature expression syntax .................3
3. Correction to feature set matching reduction rules ......3
4. Security Considerations .................................4
5. References ..............................................4
6. Author's Address ........................................4
7. Full Copyright Statement ................................5
1. Introduction
In RFC 2533, "A Syntax for Describing Media Feature Sets" [1], an
expression format is presented for describing media feature
capabilities using simple media feature tags. This provides a format
for message handling agents to describe the media feature content of
messages that they can handle. That memo also describes an algorithm
for finding the common capabilities expressed by two different
feature expressions.
This memo contains two corrections to that specification: one fixes
an error in the formal syntax specification, and the other fixes an
error in the feature set matching algorithm, in the rules for
reducing feature comparison predicates.
The first of these corrections affects the normative content of RFC
2533; the second affects non-normative content.
1.1 Terminology and document conventions
This specification uses syntax notation and conventions described in
RFC 2234, "Augmented BNF for Syntax Specifications: ABNF" [2].
NOTE: Comments like this provide additional nonessential
information about the rationale behind this document. Such
information is not needed for building a conformant
implementation, but may help those who wish to understand the
design in greater depth.
1.2 Discussion of this document
Discussion of this document should take place on the content
negotiation and media feature registration mailing list hosted by the
Internet Mail Consortium (IMC).
Please send comments regarding this document to:
ietf-medfree@imc.org
To subscribe to this list, send a message with the body 'subscribe'
to "ietf-medfree-request@imc.org".
To see what has gone on before you subscribed, please see the mailing
list archive at:
http://www.imc.org/ietf-medfree/
2. Correction to feature expression syntax
In section 4.1, RFC 2533 defines the syntax for a "set" expression as
follows:
set = attr "=" "[" setentry *( "," setentry ) "]"
setentry = value "/" range
The production for 'setentry' should read:
setentry = value / range
That is: the '/' character is not a character literal, but separates
two alternative forms for 'setentry'. This corrected syntax allows
the set expression examples given in section 4.2.5 of RFC 2533, such
as:
( width=[3,4,6..17/2] )
3. Correction to feature set matching reduction rules
In section 5.8.2, "Rules for simplifying unordered values", RFC 2533
lists the following rewriting rules for simplifying feature tag
comparisons with unordered values:
(LE f a) (LE f b) --> (LE f a), a=b
FALSE, otherwise
(LE f a) (GE f b) --> FALSE, a!=b
(LE f a) (NL f b) --> (LE f a) a!=b
FALSE, otherwise
(LE f a) (NG f b) --> (LE f a), a!=b
FALSE, otherwise
The second of these rules is incomplete, and should read:
(LE f a) (GE f b) --> (LE f a), a=b
FALSE, otherwise
NOTE: implementation experience with these rules has
suggested a revised feaure set matching algorithm with a
more useful set of simplification rules. Apart from the
change noted above, the algorithm given in RFC 2533 has
been implemented and shown to work as intended, but the
results generated are not always in the most convenient
form. It is planned to test and publish a revised
algorithm at a future date.
4. Security Considerations
Security considerations are discussed in RFC 2533 [1] and related
documents.
5. References
[1] Klyne, G., "A Syntax for Describing Media Feature Sets", RFC
2533, March 1999.
[2] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
6. Author's Address
Graham Klyne
Content Technologies Ltd.
1220 Parkview
Arlington Business Park
Theale
Reading, RG7 4SA
United Kingdom
Phone: +44 118 930 1300
Fax: +44 118 930 1301
EMail: GK@ACM.ORG
7. Full Copyright Statement
Copyright (C) The Internet Society (1999). 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.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
AI ELI5
On this page
§1What Is Being Corrected
RFC 2533 presents an expression format for describing media feature capabilities with simple media feature tags. It lets message handling agents describe what content they can handle, and gives an algorithm for finding the common capabilities of two feature expressions.
This memo makes two corrections. One fixes the formal syntax specification, which affects normative content. The other fixes the rules for reducing feature comparison predicates in the matching algorithm, which affects non-normative content. It uses ABNF as described in RFC 2234.
A rule book for describing what a device can show had two mistakes, and this note fixes them.
§2Correction to the Set Syntax
Section 4.1 of RFC 2533 defined a set expression with the production setentry = value "/" range. It should read setentry = value / range. The '/' is not a character literal; it separates two alternative forms, a single value or a range.
The corrected grammar allows the set examples in section 4.2.5 of RFC 2533, such as ( width=[3,4,6..17/2] ).
A slash was meant to mean 'or' but was written as a letter to type. Fixing it lets lists mix single numbers and ranges.
Old: setentry = value "/" range
Corrected: setentry = value / range§3Correction to the Matching Rules
Section 5.8.2 of RFC 2533 lists rewriting rules for simplifying comparisons with unordered values. The second rule, for (LE f a) (GE f b), said only FALSE when a and b differ. It should read: (LE f a) when a=b, and FALSE otherwise.
A note says implementation experience suggested a revised matching algorithm with more useful simplification rules. Apart from this change, the RFC 2533 algorithm was implemented and shown to work, though results are not always in the most convenient form. A revised algorithm is planned to be tested and published later.
Security considerations are those of RFC 2533 and related documents.
One rule only said what to do when two numbers differ. The fix adds what to do when they are the same.