📄 rfc2533.txt
字号:
Network Working Group G. KlyneRequest for Comments: 2533 Content Technologies/5GMCategory: Standards Track March 1999 A Syntax for Describing Media Feature SetsStatus 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 A number of Internet application protocols have a need to provide content negotiation for the resources with which they interact [1]. A framework for such negotiation is described in [2], part of which is a way to describe the range of media features which can be handled by the sender, recipient or document transmission format of a message. A format for a vocabulary of individual media features and procedures for feature registration are presented in [3]. This document introduces and describes a syntax that can be used to define feature sets which are formed from combinations and relations involving individual media features. Such feature sets are used to describe the media feature handling capabilities of message senders, recipients and file formats. An algorithm for feature set matching is also described here.Table of Contents 1. Introduction.............................................3 1.1 Structure of this document ...........................3 1.2 Document terminology and conventions .................4 1.3 Discussion of this document ..........................4 2. Content feature terminology and definitions..............4 3. Media feature combinations and capabilities..............5 3.1 Media features .......................................5 3.2 Media feature collections and sets ...................5 3.3 Media feature set descriptions .......................6 3.4 Media feature combination scenario ...................7Klyne Standards Track [Page 1]RFC 2533 A Syntax for Describing Media Feature Sets March 1999 3.4.1 Data resource options............................7 3.4.2 Recipient capabilities...........................7 3.4.3 Combined options.................................7 3.5 Feature set predicates ...............................8 3.5.1 Comparison with directory search filters.........8 3.6 Describing preferences ...............................9 3.7 Combining preferences ...............................10 4. Feature set representation..............................11 4.1 Textual representation of predicates ................11 4.2 Interpretation of feature predicate syntax ..........12 4.2.1 Filter syntax...................................12 4.2.2 Feature comparison..............................13 4.2.3 Feature tags....................................13 4.2.4 Feature values..................................14 4.2.4.1 Boolean values 14 4.2.4.2 Numeric values 14 4.2.4.3 Token values 15 4.2.4.4 String values 15 4.2.5 Notational conveniences.........................15 4.3 Feature set definition example ......................16 5. Matching feature sets...................................16 5.1 Feature set matching strategy .......................18 5.2 Formulating the goal predicate ......................19 5.3 Replace set expressions .............................19 5.4 Move logical negations inwards ......................20 5.5 Replace comparisons and logical negations ...........20 5.6 Conversion to canonical form ........................21 5.7 Grouping of feature predicates ......................22 5.8 Merge single-feature constraints ....................22 5.8.1 Rules for simplifying ordered values............23 5.8.2 Rules for simplifying unordered values..........23 6. Other features and issues...............................24 6.1 Named and auxiliary predicates ......................24 6.1.1 Defining a named predicate......................24 6.1.2 Invoking named predicates.......................25 6.1.3 Auxiliary predicates in a filter................25 6.1.4 Feature matching with named predicates..........25 6.1.5 Example.........................................26 6.2 Unit designations ...................................26 6.3 Unknown feature value data types ....................27 7. Examples and additional comments........................27 7.1 Worked example ......................................27 7.2 A note on feature tag scoping .......................31 8. Security Considerations.................................34 9. Acknowledgements........................................34 10. References.............................................35 11. Author's Address.......................................36 Full Copyright Statement...................................37Klyne Standards Track [Page 2]RFC 2533 A Syntax for Describing Media Feature Sets March 19991. Introduction A number of Internet application protocols have a need to provide content negotiation for the resources with which they interact [1]. A framework for such negotiation is described in [2]. A part of this framework is a way to describe the range of media features which can be handled by the sender, recipient or document transmission format of a message. Descriptions of media feature capabilities need to be based upon some underlying vocabulary of individual media features. A format for such a vocabulary and procedures for registering media features within this vocabulary are presented in [3]. This document defines a syntax that can be used to describe feature sets which are formed from combinations and relations involving individual media features. Such feature sets are used to describe the media handling capabilities of message senders, recipients and file formats. An algorithm for feature set matching is also described here. The feature set syntax is built upon the principle of using feature set predicates as "mathematical relations" which define constraints on feature handling capabilities. This allows that the same form of feature set expression can be used to describe sender, receiver and file format capabilities. This has been loosely modelled on the way that relational databases use Boolean expresions to describe a set of result values, and a syntax that is based upon LDAP search filters.1.1 Structure of this document The main part of this memo addresses the following main areas: Section 2 introduces and references some terms which are used with special meaning. Section 3 introduces the concept of describing media handling capabilities as combinations of possible media features, and the idea of using Boolean expressions to express such combinations. Section 4 contains a description of a syntax for describing feature sets based on the previously-introduced idea of Boolean expressions used to describe media feature combinations. Section 5 describes an algorithm for feature set matching.Klyne Standards Track [Page 3]RFC 2533 A Syntax for Describing Media Feature Sets March 1999 Section 6 discusses some additional media feature description and processing issues that may be viewed as extensions to the core framework. Section 7 contains a worked example of feature set matching, and some additional explanatory comments spurred by issues arising from applying this framework to fascimile transmissions.1.2 Document terminology and conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. 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.3 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. Content feature terminology and definitions Feature Collection is a collection of different media features and associated values. This might be viewed as describing a specific rendering of a specific instance of a document or resource by a specific recipient. Feature Set is a set of zero, one or more feature collections.Klyne Standards Track [Page 4]RFC 2533 A Syntax for Describing Media Feature Sets March 1999 NOTE: this term is used slightly differently by earlier work on Transparent Content Negotiation in HTTP [4]. Feature set predicate A function of an arbitrary feature collection value which returns a Boolean result. A TRUE result is taken to mean that the corresponding feature collection belongs to some set of media feature handling capabilities defined by this predicate. Other terms used in this memo are defined in [2].3. Media feature combinations and capabilities3.1 Media features This memo assumes that individual media feature values are simple atomic values: o Boolean values. o Enumerated values. o Text string values (treated as atomic entities, like enumerated value tokens). o Numeric values (Integer or rational). These values all have the property that they can be compared for equality ('='), and that numeric and ordered enumeration values can be compared for less-than and greater-than relationship ('<=', '>='). These basic comparison operations are used as the primitive building blocks for more comprehensive capability expressions.3.2 Media feature collections and sets Any single media feature value can be thought of as just one component of a feature collection that describes some instance of a resource (e.g. a printed document, a displayed image, etc.). Such a feature collection consists of a number of media feature tags (each per [3]) and associated feature values. A feature set is a set containing a number of feature collections. Thus, a feature set can describe a number of different data resource instances. These can correspond to different treatments of a single data resource (e.g. different resolutions used for printing a given document), a number of different data resources subjected to a common treatment (e.g. the range of different images that can be rendered on a given display), or some combination of these (see examples below).Klyne Standards Track [Page 5]RFC 2533 A Syntax for Describing Media Feature Sets March 1999 Thus, a description of a feature set can describe the capabilities of a data resource or some entity that processes or renders a data resource.3.3 Media feature set descriptions A feature set may be unbounded. For example, in principle, there is no limit on the number of different documents that may be output using a given printer. But to be practically useful, a feature set description must be finite. The general approach to describing feature sets is to start from the assumption that anything is possible; i.e. the feature set contains all possible document instances (feature collections). Then constraints are applied that progressively remove document instances from this set; e.g. for a monochrome printer, all document instances that use colour are removed, or for a document that must be rendered at some minimum resolution, all document instances with lesser resolutions are removed from the set. The mechanism used to remove document instances from the set is the mathematical idea of a "relation"; i.e. a Boolean function (a "predicate") that takes a feature collection parameter and returns a Boolean value that is TRUE if the feature collection describes an acceptable document instance, or FALSE if it describes one that is excluded. P(C) P(C) = TRUE <- : -> P(C) = FALSE : +----------:----------+ This box represents some | : | set of feature collections (C) | Included : Excluded | that is constrained by the | : | predicate P. +----------:----------+ : The result of applying a series of such constraints is a smaller set of feature collections that represent some media handling capability. Where the individual constraints are represented by predicates that each describe some media handling capability, the combined effect of these constraints is some subset of the individual constraint capabilities that can be represented by a predicate that is the logical-AND of the individual constraint predicates.3.4 Media feature combination scenario This section develops some example scenarios, introducing the notation that is defined formally in section 4.Klyne Standards Track [Page 6]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -