draft-ietf-conneg-feature-hash-04.txt   draft-ietf-conneg-feature-hash-05.txt 
IETF conneg working group Graham Klyne, editor IETF conneg working group Graham Klyne, editor
Internet draft Content Technologies Internet draft Content Technologies
Category: Work-in-progress Larry Masinter Category: Work-in-progress Larry Masinter
AT&T AT&T
Expires: October 2000 Expires: December 2000
Identifying composite media features Identifying composite media features
<draft-ietf-conneg-feature-hash-04.txt> <draft-ietf-conneg-feature-hash-05.txt>
Status of this memo Status of this memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. all provisions of Section 10 of RFC 2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 16 skipping to change at page 2, line 16
Table of contents Table of contents
1. Introduction ............................................2 1. Introduction ............................................2
1.1 Organization of this document 2 1.1 Organization of this document 2
1.2 Terminology and document conventions 3 1.2 Terminology and document conventions 3
1.3 Discussion of this document 3 1.3 Discussion of this document 3
2. Motivation and goals ....................................4 2. Motivation and goals ....................................4
3. Composite feature representation ........................5 3. Composite feature representation ........................5
3.1 Feature set hashed reference format 6 3.1 Feature set hashed reference format 6
3.1.1 Hash value calculation 6 3.1.1 Hash value calculation 7
3.1.2 Base-32 value representation 7 3.1.2 Base-32 value representation 7
3.2 Resolving feature set identifiers 8 3.2 Resolving feature set identifiers 9
3.2.1 Query protocol 9 3.2.1 Query protocol 9
3.2.2 Inline feature set details 9 3.2.2 Inline feature set details 10
4. Examples ................................................10 4. Examples ................................................11
5. Internationalization considerations .....................10 5. Internationalization considerations .....................13
6. Security considerations .................................11 6. Security considerations .................................14
7. Acknowledgements ........................................11 7. Acknowledgements ........................................14
8. References ..............................................11 8. References ..............................................14
9. Authors' addresses ......................................13 9. Authors' addresses ......................................16
Appendix A: The birthday problem ...........................13 Appendix A: The birthday problem ...........................16
Appendix B: Revision history ...............................15 Appendix B: Revision history ...............................18
Full copyright statement ...................................16 Full copyright statement ...................................19
1. Introduction 1. Introduction
In "A syntax for describing media feature sets" [1], an expression In "A syntax for describing media feature sets" [1], an expression
format is presented for describing media feature capabilities as a format is presented for describing media feature capabilities as a
combination of simple media feature tags [2]. combination of simple media feature tags [2].
This document proposes an abbreviated format for a composite media This document proposes an abbreviated format for a composite media
feature set, based upon a hash of the feature expression describing feature set, based upon a hash of the feature expression describing
that composite. that composite.
skipping to change at page 3, line 53 skipping to change at page 3, line 53
in RFC2234 "Augmented BNF for Syntax Specifications: ABNF" [3]. in RFC2234 "Augmented BNF for Syntax Specifications: ABNF" [3].
NOTE: Comments like this provide additional nonessential NOTE: Comments like this provide additional nonessential
information about the rationale behind this document. information about the rationale behind this document.
Such information is not needed for building a conformant Such information is not needed for building a conformant
implementation, but may help those who wish to understand implementation, but may help those who wish to understand
the design in greater depth. the design in greater depth.
1.3 Discussion of this document 1.3 Discussion of this document
Discussion of this document should take place on the content Discussion of this document takes place on the content negotiation
negotiation and media feature registration mailing list hosted by and media feature registration mailing list hosted by the Internet
the Internet Mail Consortium (IMC). Mail Consortium (IMC).
Internet Draft Identifying composite media features Internet Draft Identifying composite media features
Please send comments regarding this document to: Please send comments regarding this document to:
ietf-medfree@imc.org ietf-medfree@imc.org
To subscribe to this list, send a message with the body 'subscribe' To subscribe to this list, send a message with the body 'subscribe'
to "ietf-medfree-request@imc.org". to "ietf-medfree-request@imc.org".
To see what has gone on before you subscribed, please see the To see what has gone on before you subscribe, please consult the
mailing list archive at: mailing list archive at:
http://www.imc.org/ietf-medfree/ http://www.imc.org/ietf-medfree/
2. Motivation and goals 2. Motivation and goals
The range of media feature capabilities of a message handling The range of media feature capabilities of a message handling
system can be quite extensive, and the corresponding feature set system can be quite extensive, and the corresponding feature set
expression [1] can reach a significant size. expression [1] can reach a significant size.
skipping to change at page 5, line 10 skipping to change at page 5, line 10
references should not break existing feature expression references should not break existing feature expression
processors). That is, the applicable interpretation and processors). That is, the applicable interpretation and
processing rules of RFC 2533 [1] apply equally to expressions processing rules of RFC 2533 [1] apply equally to expressions
containing feature set references. containing feature set references.
Internet Draft Identifying composite media features Internet Draft Identifying composite media features
NOTE: This proposal does not attempt to address the NOTE: This proposal does not attempt to address the
"override" or "default" problem. (Where a feature set "override" or "default" problem. (Where a feature set
may be referenced and selectively modified.) may be referenced and selectively modified.)
Some circumstances in which such an abbreviated form might be used
include:
o A media feature expression that contains a repeated sub-
expression. If the sub-expression is quite large, space can be
saved by writing it out once, then using the abbreviated form to
reference it.
o A capability that is common to a range of devices, such as a
given class of fax machine where are large number of feature tags
are involved, but only a small number of common feature sets. If
the recipient understands, or can discover, that some
abbreviation stands for a given feature set then feature
expression size can be reduced by using the abbreviation.
If feature set abbreviations are used in this way, it may be that
they can be interpreted by a simple table lookup rather than full
feature expression parsing. (Making this useful in practice will
depend on crafting the feature subsets appropriately.)
Examples of such usage are given in section 4 of this memo.
This memo does not specify how a program that receives a feature
set abbreviation should discover the corresponding feature set
expression: see section 3.2.
3. Composite feature representation 3. Composite feature representation
This specification hinges on two central ideas: This specification hinges on two central ideas:
o the use of auxiliary predicates (introduced in RFC 2533 [1]) to o the use of auxiliary predicates (introduced in RFC 2533 [1]) to
form the basis of a feature set identifier, and form the basis of a feature set identifier, and
o the use of a token based on a hash function computed over the o the use of a token based on a hash function computed over the
referenced feature set expression. referenced feature set expression.
A key reason to use a hash function to generate an identifier is to A key reason to use a hash function to generate an identifier is to
define a global name space without requiring a central naming define a global name space without requiring a central naming
authority. New feature set tags can be introduced by any party authority. New feature set tags can be introduced by any party
following the appropriate rules of formulation, without reference following the appropriate rules of formulation, without reference
to any centralized authority. to any centralized authority.
Internet Draft Identifying composite media features
Local resolution services may be needed to map feature set tags to Local resolution services may be needed to map feature set tags to
their corresponding feature set expressions, but these are not able their corresponding feature set expressions, but these are not able
to vary the meaning of any given tag. Failure of a resolution to vary the meaning of any given tag. Failure of a resolution
service to return the correct expression is detectable by a calling service to return the correct expression is detectable by a calling
application, which should reject any incorrect value supplied. application, which should reject any incorrect value supplied.
NOTE: where a feature set reference is used, its meaning NOTE: where a feature set reference is used, its meaning
is defined by substitution of the referenced feature is defined by substitution of the referenced feature
expression into the referencing expression. When all expression into the referencing expression. When all
references have been thus replaced, the result is references have been thus replaced, the result is
skipping to change at page 6, line 5 skipping to change at page 6, line 30
referencing expression, the constraints are interpreted referencing expression, the constraints are interpreted
per RFC 2533 [1], without regard for their origin. e.g. per RFC 2533 [1], without regard for their origin. e.g.
(using some notation introduced below): (using some notation introduced below):
(& (pix-x=100) (pix-y<=300) (& (pix-x=100) (pix-y<=300)
(h.SBB5REAOMHC09CP2GM4V07PQP0) ) (h.SBB5REAOMHC09CP2GM4V07PQP0) )
where (h.SBB5REAOMHC09CP2GM4V07PQP0) resolves to: where (h.SBB5REAOMHC09CP2GM4V07PQP0) resolves to:
(& (pix-x<=200) (pix-y<=150) ) (& (pix-x<=200) (pix-y<=150) )
yields a result equivalent to: yields a result equivalent to:
(& (pix-x=100) (pix-y<=150) ) (& (pix-x=100) (pix-y<=150) )
Internet Draft Identifying composite media features
3.1 Feature set hashed reference format 3.1 Feature set hashed reference format
This specification introduces a special form of auxiliary predicate This specification introduces a special form of auxiliary predicate
name with the following syntax: name with the following syntax:
fname = "h." 1*BASE32DIGIT fname = "h." 1*BASE32DIGIT
BASE32DIGIT = DIGIT BASE32DIGIT = DIGIT
/ "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H"
/ "I" / "J" / "K" / "L" / "M" / "N" / "O" / "P" / "I" / "J" / "K" / "L" / "M" / "N" / "O" / "P"
/ "Q" / "R" / "S" / "T" / "U" / "V" / "Q" / "R" / "S" / "T" / "U" / "V"
skipping to change at page 6, line 28 skipping to change at page 7, line 5
The sequence of base-32 digits represents the value of a hash The sequence of base-32 digits represents the value of a hash
function calculated over the corresponding feature set expression function calculated over the corresponding feature set expression
(see following sections). Note that the above syntax allows upper- (see following sections). Note that the above syntax allows upper-
or lower- case letters for base-32 digits (per RFC 2234 [3]). or lower- case letters for base-32 digits (per RFC 2234 [3]).
Thus, within a feature set expression, a hashed feature set Thus, within a feature set expression, a hashed feature set
reference would have the following form: reference would have the following form:
(h.123456789abcdefghijklmnopq) (h.123456789abcdefghijklmnopq)
Internet Draft Identifying composite media features
3.1.1 Hash value calculation 3.1.1 Hash value calculation
The hash value is calculated using the MD5 algorithm [6] over the The hash value is calculated using the MD5 algorithm [6] over the
text of the referenced feature set expression subjected to certain text of the referenced feature set expression subjected to certain
normalizations. The feature expression must conform to the syntax normalizations. The feature expression must conform to the syntax
given for 'filter' in RFC 2533 [1]: given for 'filter' in RFC 2533 [1]:
filter = "(" filtercomp ")" *( ";" parameter ) filter = "(" filtercomp ")" *( ";" parameter )
The steps for calculating a hash value are: The steps for calculating a hash value are:
skipping to change at page 7, line 5 skipping to change at page 7, line 37
values 97 to 122 (decimal) are changed to corresponding values 97 to 122 (decimal) are changed to corresponding
characters in the range 65 to 90. characters in the range 65 to 90.
3. Hash computation: the MD5 algorithm, described in RFC 1321 [6], 3. Hash computation: the MD5 algorithm, described in RFC 1321 [6],
is applied to the normalized feature expression string. is applied to the normalized feature expression string.
The result obtained in step 3 is a 128-bit (16 octet) value that is The result obtained in step 3 is a 128-bit (16 octet) value that is
converted to a base-32 representation to form the feature set converted to a base-32 representation to form the feature set
reference. reference.
Internet Draft Identifying composite media features
NOTE: under some circumstances, removal of ALL NOTE: under some circumstances, removal of ALL
whitespace may result in an invalid feature expression whitespace may result in an invalid feature expression
string. This should not be a problem as this is done string. This should not be a problem as this is done
only for the purpose of calculating a hash value, and only for the purpose of calculating a hash value, and
significantly different feature expressions are expected significantly different feature expressions are expected
to differ in ways other than their whitespace. to differ in ways other than their whitespace.
NOTE: case normalization is deemed appropriate since NOTE: case normalization is deemed appropriate since
feature tag and token matching is case insensitive. feature tag and token matching is case insensitive.
3.1.2 Base-32 value representation 3.1.2 Base-32 value representation
RFC 1321 [6] describes how to calculate an MD5 hash value that is a RFC 1321 [6] describes how to calculate an MD5 hash value that is a
sequence of 16 octets. This is then required to be coded as a sequence of 16 octets. This is then required to be coded as a
base-32 value, which is a sequence of base-32 digit characters. base-32 value, which is a sequence of base-32 digit characters.
Internet Draft Identifying composite media features
Each successive character in a base-32 value represents 5 Each successive character in a base-32 value represents 5
successive bits of the underlying octet sequence. Thus, each group successive bits of the underlying octet sequence. Thus, each group
of 8 characters represents a sequence of 5 octets (40 bits): of 8 characters represents a sequence of 5 octets (40 bits):
1 2 3 1 2 3
01234567 89012345 67890123 45678901 23456789 01234567 89012345 67890123 45678901 23456789
+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+
|< 1 >< 2| >< 3 ><|.4 >< 5.|>< 6 ><.|7 >< 8 >| |< 1 >< 2| >< 3 ><|.4 >< 5.|>< 6 ><.|7 >< 8 >|
+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+
<===> 8th character <===> 8th character
skipping to change at page 8, line 4 skipping to change at page 8, line 40
"4" 4 "E" 14 "O" 24 "4" 4 "E" 14 "O" 24
"5" 5 "F" 15 "P" 25 "5" 5 "F" 15 "P" 25
"6" 6 "G" 16 "Q" 26 "6" 6 "G" 16 "Q" 26
"7" 7 "H" 17 "R" 27 "7" 7 "H" 17 "R" 27
"8" 8 "I" 18 "S" 28 "8" 8 "I" 18 "S" 28
"9" 9 "J" 19 "T" 29 "9" 9 "J" 19 "T" 29
When encoding a base-32 value, each full group of 5 octets is When encoding a base-32 value, each full group of 5 octets is
represented by a sequence of 8 characters indicated above. If a represented by a sequence of 8 characters indicated above. If a
group of less than 5 octets remain after this, they are encoded group of less than 5 octets remain after this, they are encoded
Internet Draft Identifying composite media features
using as many additional characters as may be needed: 1, 2, 3 or 4 using as many additional characters as may be needed: 1, 2, 3 or 4
octets are encoded by 2, 4, 5 or 7 characters respectively. Any octets are encoded by 2, 4, 5 or 7 characters respectively. Any
spare bits represented by the base-32 digit characters are selected spare bits represented by the base-32 digit characters are selected
to be zero. to be zero.
When decoding a base-32 value, the reverse mapping is applied: When decoding a base-32 value, the reverse mapping is applied:
each full group of 8 characters codes a sequence of 5 octets. A each full group of 8 characters codes a sequence of 5 octets. A
final group of 2, 4, 5 or 7 characters codes a sequence of 1, 2, 3 final group of 2, 4, 5 or 7 characters codes a sequence of 1, 2, 3
or 4 octets respectively. Any spare bits represented by the final or 4 octets respectively. Any spare bits represented by the final
group of characters are discarded. group of characters are discarded.
Thus, for a 128-bit (16 octet) MD5 hash value, the first 15 octets Thus, for a 128-bit (16 octet) MD5 hash value, the first 15 octets
are coded as 24 base 32 digit characters, and the final octet is are coded as 24 base 32 digit characters, and the final octet is
coded by two characters. coded by two characters.
Internet Draft Identifying composite media features
NOTE: Base64 representation (per MIME [4]) would be more NOTE: Base64 representation (per MIME [4]) would be more
compact (21 rather than 26 characters for the MD5 128-bit compact (21 rather than 26 characters for the MD5 128-bit
hash value), but an auxiliary predicate name is defined hash value), but an auxiliary predicate name is defined
(by [1]) to have the same syntax as a feature tag, and (by [1]) to have the same syntax as a feature tag, and
the feature tag matching rules (per [2]) state that the feature tag matching rules (per [2]) state that
feature tag matching is case insensitive. feature tag matching is case insensitive.
Base36 representation was considered (i.e. using all Base36 representation was considered (i.e. using all
letters "A"-"Z") but was not used because this would letters "A"-"Z") but was not used because this would
require extended precision multiplication and division require extended precision multiplication and division
skipping to change at page 9, line 5 skipping to change at page 9, line 36
dereferencing information may be incorporated into a feature set dereferencing information may be incorporated into a feature set
expression. These are based on auxiliary predicate definitions expression. These are based on auxiliary predicate definitions
within a "where" clause [1]. within a "where" clause [1].
When a hashed feature set reference is used, conformance to the When a hashed feature set reference is used, conformance to the
hashing rules takes precedence over any other determination of the hashing rules takes precedence over any other determination of the
feature expression. Any expression, however obtained, may not be feature expression. Any expression, however obtained, may not be
substituted for the hash-based reference unless it yields the substituted for the hash-based reference unless it yields the
correct hash value. correct hash value.
Internet Draft Identifying composite media features
3.2.1 Query protocol 3.2.1 Query protocol
A protocol providing request/response type queries (e.g. HTTP, A protocol providing request/response type queries (e.g. HTTP,
LDAP, etc.) might be set up to provide a resolution service. LDAP, etc.) might be set up to provide a resolution service.
Thus, a query to a server associated with the capabilities could be Thus, a query to a server associated with the capabilities could be
performed on the feature set identifier. The response returned performed on the feature set identifier. The response returned
would be a CONNEG expression; e.g. would be a CONNEG expression; e.g.
(h.SBB5REAOMHC09CP2GM4V07PQP0) (h.SBB5REAOMHC09CP2GM4V07PQP0)
skipping to change at page 9, line 28 skipping to change at page 10, line 5
(h.SBB5REAOMHC09CP2GM4V07PQP0) :- (& (pix-x<=200) (pix-y<=150) ) (h.SBB5REAOMHC09CP2GM4V07PQP0) :- (& (pix-x<=200) (pix-y<=150) )
end end
or just: or just:
(& (pix-x<=200) (pix-y<=150) ) (& (pix-x<=200) (pix-y<=150) )
This result would be combined with the original expression to This result would be combined with the original expression to
obtain a result not including the hash based predicate. obtain a result not including the hash based predicate.
Internet Draft Identifying composite media features
This process might be further enhanced by using URN resolution This process might be further enhanced by using URN resolution
mechanisms (e.g. DNS NAPTR [10]) to discover the resolution mechanisms (e.g. DNS NAPTR [10]) to discover the resolution
protocol and server. protocol and server.
3.2.2 Inline feature set details 3.2.2 Inline feature set details
In this case, a reference is resolved by including its definition In this case, a reference is resolved by including its definition
inline in an expression. inline in an expression.
The feature set expression associated with a reference value may be The feature set expression associated with a reference value may be
skipping to change at page 10, line 5 skipping to change at page 10, line 35
defined by the invoking application protocol), or when the defined by the invoking application protocol), or when the
originator believes the recipient may not understand the reference. originator believes the recipient may not understand the reference.
It is an error if the inline feature expression does not yield the It is an error if the inline feature expression does not yield the
hash value contained in auxiliary predicate name. hash value contained in auxiliary predicate name.
NOTE: viewed in isolation, this format does not have any NOTE: viewed in isolation, this format does not have any
obvious value, in that the (h.xxx) form of auxiliary obvious value, in that the (h.xxx) form of auxiliary
predicate could be replaced by any arbitrary name. predicate could be replaced by any arbitrary name.
Internet Draft Identifying composite media features
It is anticipated that this form might be used as a It is anticipated that this form might be used as a
follow-up response in a sequence along the lines of: follow-up response in a sequence along the lines of:
A> Capabilities are: A> Capabilities are:
(& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) ) (& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) )
B> Do not understand: B> Do not understand:
(h.SBB5REAOMHC09CP2GM4V07PQP0) (h.SBB5REAOMHC09CP2GM4V07PQP0)
A> Capabilities are: A> Capabilities are:
(& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) ) (& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) )
where where
(h.SBB5REAOMHC09CP2GM4V07PQP0) :- (& (pix-x<=200) (h.SBB5REAOMHC09CP2GM4V07PQP0) :- (& (pix-x<=200)
(pix-y<=150) ) (pix-y<=150) )
end end
Internet Draft Identifying composite media features
4. Examples 4. Examples
The following are some examples of feature set expressions The following are some examples of feature set expressions
containing feature set references: containing feature set references:
(& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) ) (& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) )
(& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) ) (& (dpi=100) (h.SBB5REAOMHC09CP2GM4V07PQP0) )
where where
(h.SBB5REAOMHC09CP2GM4V07PQP0) :- (h.SBB5REAOMHC09CP2GM4V07PQP0) :-
skipping to change at page 10, line 45 skipping to change at page 11, line 33
(| (& (ua-media=continuous) (dpi=200) (dpi-xyratio=200/100) (| (& (ua-media=continuous) (dpi=200) (dpi-xyratio=200/100)
(color=Binary) (paper-size=B4) (image-coding=MH) ) (color=Binary) (paper-size=B4) (image-coding=MH) )
(& (ua-media=continuous) (dpi=200) (dpi-xyratio=200/100) (& (ua-media=continuous) (dpi=200) (dpi-xyratio=200/100)
(color=Binary) (paper-size=B4) (image-coding=MR) ) (color=Binary) (paper-size=B4) (image-coding=MR) )
(& (ua-media=stationery) (dpi=300) (dpi-xyratio=1) (& (ua-media=stationery) (dpi=300) (dpi-xyratio=1)
(color=Binary) (paper-size=A4) (image-coding=JBIG) ) (color=Binary) (paper-size=A4) (image-coding=JBIG) )
(& (ua-media=transparency) (dpi=300) (dpi-xyratio=1) (& (ua-media=transparency) (dpi=300) (dpi-xyratio=1)
(color=Binary) (paper-size=A4) (image-coding=JBIG) ) ) (color=Binary) (paper-size=A4) (image-coding=JBIG) ) )
end end
The following examples are based on Internet fax work, and show how
a feature-hash might be used to express the commonly-used features.
A form of Internet fax system that is expected to be quite common
is a so-called "simple mode" system, whose capabilities are
described by the following feature expression:
(& (image-file-structure=TIFF-minimal)
(MRC-mode=0)
(color=Binary)
(image-coding=MH) (MRC-mode=0)
(| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
(& (dpi=200) (dpi-xyratio=[200/100,1]) ) )
(size-x<=2150/254)
(paper-size=A4)
(ua-media=stationery) )
This might be expressed by the hash-based feature set identifier:
(h.MSB955PVIRT1QOHET9AJT5JM3O)
Internet Draft Identifying composite media features
The following example describes capabilities of a full-colour
Internet fax system. Note a number of feature values are
applicable in common with '(color=grey)' and '(colour=full)':
(& (image-file-structure=TIFF)
(MRC-mode=0)
(| (& (color=Binary)
(image-coding=[MH,MR,MMR])
(| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
(& (dpi=200) (dpi-xyratio=[200/100,1]) )
(& (dpi=300) (dpi-xyratio=1) ) ) )
(& (color=grey)
(image-coding=JPEG)
(image-coding-constraint=JPEG-T4E)
(color-levels<=256)
(color-space=CIELAB)
(color-illuminant=D50)
(CIELAB-L-min>=0)
(CIELAB-L-max<=100)
(dpi=[100,200,300]) (dpi-xyratio=1) )
(& (color=full)
(image-coding=JPEG)
(image-coding-constraint=JPEG-T4E)
(color-subsampling=["1:1:1","4:1:1"])
(color-levels<=16777216)
(color-space=CIELAB)
(color-illuminant=D50)
(CIELAB-L-min>=0)
(CIELAB-L-max<=100)
(CIELAB-a-min>=-85)
(CIELAB-a-max<=85)
(CIELAB-b-min>=-75)
(CIELAB-b-max<=125)
(dpi=[100,200,300]) (dpi-xyratio=1) ) )
(size-x<=2150/254)
(paper-size=[letter,A4,B4]) )
(ua-media=stationery) )
Internet Draft Identifying composite media features
Separating out the common capabilities yields:
(& (image-file-structure=TIFF)
(MRC-mode=0)
(| (& (color=Binary)
(image-coding=[MH,MR,MMR])
(| (& (dpi=204) (dpi-xyratio=[204/98,204/196]) )
(& (dpi=200) (dpi-xyratio=[200/100,1]) )
(& (dpi=300) (dpi-xyratio=1) ) ) )
(& (color=grey)
(color-levels<=256)
(h.QVSEM8V2LMJ8VOR7V682J7079O) )
(& (color=full)
(color-subsampling=["1:1:1","4:1:1"])
(color-levels<=16777216)
(CIELAB-a-min>=-85)
(CIELAB-a-max<=85)
(CIELAB-b-min>=-75)
(CIELAB-b-max<=125)
(h.QVSEM8V2LMJ8VOR7V682J7079O) ) )
(size-x<=2150/254)
(paper-size=[letter,A4,B4]) )
(ua-media=stationery) )
where
(h.QVSEM8V2LMJ8VOR7V682J7079O) :-
(& (image-coding=JPEG)
(image-coding-constraint=JPEG-T4E)
(color-space=CIELAB)
(color-illuminant=D50)
(CIELAB-L-min>=0)
(CIELAB-L-max<=100)
(dpi=[100,200,300]) (dpi-xyratio=1) )
end
5. Internationalization considerations 5. Internationalization considerations
Feature set expressions and URI strings are currently defined to Feature set expressions and URI strings are currently defined to
consist of only characters from the US-ASCII repertoire [1,5]; consist of only characters from the US-ASCII repertoire [1,5];
under these circumstances this specification is not impacted by under these circumstances this specification is not impacted by
internationalization considerations (other than any already internationalization considerations (other than any already
applicable to URIs [5]). applicable to URIs [5]).
Internet Draft Identifying composite media features Internet Draft Identifying composite media features
But, if future revisions of the feature set syntax permit non-US- But, if future revisions of the feature set syntax permit non-US-
skipping to change at page 16, line 6 skipping to change at page 19, line 6
resolution; update references. resolution; update references.
04b 06-Apr-2000 Update contact address. Note that whitespace in 04b 06-Apr-2000 Update contact address. Note that whitespace in
quoted strings should not be removed by the quoted strings should not be removed by the
normalization process. Update examples to use a normalization process. Update examples to use a
proper, calculated MD5 hash value. Add reference proper, calculated MD5 hash value. Add reference
to sample source code. Move full copyright to sample source code. Move full copyright
statement to end. statement to end.
Internet Draft Identifying composite media features Internet Draft Identifying composite media features
05a 08-Jun-2000 Add text explaining motivation and some uses for
hash-based properties (sections 2), and examples
of same (section 4).
Full copyright statement Full copyright statement
Copyright (C) The Internet Society 2000. All Rights Reserved. Copyright (C) The Internet Society 2000. All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied, it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction published and distributed, in whole or in part, without restriction
of any kind, provided that the above copyright notice and this of any kind, provided that the above copyright notice and this
 End of changes. 21 change blocks. 
26 lines changed or deleted 149 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/