⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2533.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:






Network Working Group                                         G. Klyne
Request for Comments: 2533                    Content Technologies/5GM
Category: Standards Track                                   March 1999

               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

   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 ...................7



Klyne                       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...................................37



Klyne                       Standards Track                     [Page 2]

RFC 2533       A Syntax for Describing Media Feature Sets     March 1999




1. 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 capabilities

3.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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -