- From: Koen Holtman <koen@win.tue.nl>
- Date: Thu, 3 Oct 1996 14:12:45 +0200 (MET DST)
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
- Cc: Koen Holtman <koen@win.tue.nl>
We (meaning Andy Mutz and me) have been working among ourselves for some time on feature tag registration and on the core feature set. See http://gewis.win.tue.nl/~koen/conneg/draft-holtman-http-negotiation-03.html#8 for some background. Here is some draft text we have come up with. Please send comments to the list. Koen. ---snip--- Feature Negotiation Notation Conventions ======================================== The four sections below are provided as background for the text on the core feature set. They probably belong in main document on transparent content negotiation. C.1 Feature tag naming conventions Feature tag names are case insensitive HTTP tokens. They are usually written in lowercase letters with underscores as separators. Examples are: html_dir, html_ol_start, form_mailto. As a general rule, a feature tag should be short, but not opaque. It is not necessary that a tag name unambiguously describes the indicated feature. However, a tag name should always provide a rough indication of the area of negotiation it applies to, for example by starting with a name (html, java, style_sheets) or well-known term (tables, color) associated with that area. When a tag consists of multiple parts, a `top level first' notation should be used: area_subarea_subsubarea_.... Thus, feature tags associated with some lesser-known markup tag T in some markup language L should be named `L_T' or `L_T_something'. If the feature tag refers to a specific attribute A of the markup tag T, it should be named `L_T_A' or `L_T_A_something'. An example of the latter case is `html_img_usemap_external' C.2 Short feature tag descriptions In the text on the core feature set, feature tags are described using the following short description format: <tag declaration> <some text describing the tag> The `tag declaration' part gives the tag name, and specifies the intended use of the tag: Form of declaration: Intended use of tag: ============================== =========================== tag_name without a value tag_name=value_description with zero or more values tag_name={value_description} with a single value tag_name<=value_description with a numeric range C.3 Conventions for tag values All values associated with feature tags must be HTTP tokens. For some areas of negotiation, the `canonical' representations of the associated values could contain ASCII characters not allowed in HTTP tokens. An example is the URL value `http://x.com', or the MIME type value `text/html'. This section defines two conventions for dealing with such situations. C.3.1 Escaped tag values If a value_description in a tag declaration ends with `_escaped', for example blah=url_escaped this indicates that the tag values may contain URL-style escape sequences of the form % HEX HEX which must be converted back to ASCII to get the `canonical' representation of the tag value. Example: Accept-Features: blah=http:%2f%2fx.com C.3.2 Tokenized tag values A string of characters is `tokenized' by replacing all characters not legal in a HTTP token with an underscore. For example, `text/html' is `text_html' after tokenization. If a value_description in a tag declaration ends with `_tokenized', for example form_enctype=mime-type_tokenized this indicates that the tag values are tokenized versions of the `canonical' values associated with the tag value datatype. Example: Accept-Features: form_enctype=application_x-form-base64-encoded --snip--
Received on Thursday, 3 October 1996 05:17:11 UTC