<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">RFC 2295 - Transparent Content Negotiation in HTTP</cite> (<time>2014-08-31 19:36:42 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc2295#section-6">http://tools.ietf.org/html/rfc2295#section-6</anchor-external></li></ul></refs></section><section><h1>構成</h1><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴タグ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴集合</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴述語</anchor></li></ul></figure></section><section><h1>文脈</h1><figure class="short list"><ul><li><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">features</anchor></code></li><li><code class="HTTP" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Accept-Features:</anchor></code></li></ul></figure></section><section><h1>歴史</h1><figure class="quote"><figcaption><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> RFC 2295 (HTTP 透過内容折衝) 4.8 Feature negotiation</p></figcaption><blockquote><p>Feature negotiation intends to provide for all areas of negotiation
not covered by the type, charset, and language dimensions.  Examples are negotiation on</p></blockquote><p>特徴折衝は、型、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">charset</anchor>、言語の各次元で覆われないすべての領域の折衝を提供することを目的としています。
例えば、</p><blockquote><ul><li>* HTML extensions</li><li>* Extensions of other media types</li><li>* Color capabilities of the user agent</li><li>* Screen size</li><li>* Output medium (screen, paper, ...)</li><li>* Preference for speed vs. preference for graphical detail</li></ul></blockquote><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> 拡張</li><li>他の媒体型の拡張</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の色能力</li><li>画面の寸法</li><li>出力媒体 (画面、紙、・・・)</li><li>速度と図形的詳細のどちらを優先させるか</li></ul><p>について折衝します。</p><blockquote><p>The feature negotiation framework (section 6) is the principal means
by which transparent negotiation offers extensibility; a new
dimension of negotiation (really a sub-dimension of the feature
dimension) can be added without the need for a new standards effort
by the simple registration of a `feature tag'.</p></blockquote><p>特徴折衝の枠組みは、透過折衝が拡張性を提供する主たる手段です。
新しい折衝の次元 (実際には特徴次元の下位次元) 
は新しい標準化努力の必要なしに、単に「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴札</anchor>」
を登録するだけで追加することができます。</p></figure><figure class="quote"><figcaption><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> RFC 2295 (HTTP 透過内容折衝) 6  Feature negotiation</p></figcaption><blockquote><p>This section defines the feature negotiation mechanism.  Feature
negotiation has been introduced in section 4.8.  Appendix 19 contains
examples of feature negotiation.</p></blockquote><section><h1>6.1 Feature tags</h1><p>→<code class="WikiPage"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴札</anchor></code>参照。</p></section><section><h1>6.2 Feature sets</h1><p>→<code class="WikiPage"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴集合</anchor></code>参照。</p></section><section><h1>6.3 Feature predicates</h1><p>→<code class="WikiPage"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴述語</anchor></code>参照。</p></section><section><h1>6.4 Features attribute</h1><p>→<code class="WikiPage"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">変種記述//features</anchor></code> 参照。</p></section></figure><figure class="quote"><figcaption><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2295</anchor> 20 Appendix: feature negotiation examples</p></figcaption><blockquote><p>This appendix contains examples of the use of feature tags in variant
descriptions.  The tag names used here are examples only, they do not
in general reflect the tag naming scheme proposed in [4].</p></blockquote><section><h1>20.1 Use of feature tags</h1><blockquote><p>Feature tags can be used in variant lists to express the quality
degradation associated with the presence or absence of certain
features.  One example is<pre>     {&quot;index.html.plain&quot; 0.7 },
     {&quot;index.html&quot;       1.0 {features tables frames}}</pre></p></blockquote><blockquote><p>Here, the &quot;{features tables frames}&quot; part expresses that index.html
uses the features tagged as tables and frames.  If these features are
absent, the overall quality of index.html degrades to 0.  Another example is<pre>     {&quot;home.graphics&quot; 1.0 {features !textonly}},
     {&quot;home.textonly&quot; 0.7 }</pre><p>where the &quot;{features !textonly}&quot; part expresses that home.graphics
requires the absence of the textonly feature.  If the feature is
present, the overall quality of home.graphics degrades to 0.</p></p></blockquote><blockquote><p>The absence of a feature need not always degrade the overall quality
to 0.  In the example<pre>     {&quot;x.html.1&quot; 1.0 {features fonts;-0.7}}</pre><p>the absence of the fonts feature degrades the quality with a factor
of 0.7.  Finally, in the example<pre>      {&quot;y.html&quot; 1.0 {features [blebber wolx] }}</pre></p></p></blockquote><blockquote><p>The &quot;[blebber wolx]&quot; expresses that y.html requires the presence of
the blebber feature or the wolx feature.  This construct can be used
in a number of cases:<ul><li>1. blebber and wolx actually tag the same feature, but they were
registered by different people, and some user agents say they
support blebber while others say they support wolx.</li><li>2. blebber and wolx are HTML tags of different vendors which
implement the same functionality, and which are used together in
y.html without interference.</li><li>3. blebber and wolx are HTML tags of different vendors which
implement the same functionality, and y.html uses the tags in a
conditional HTML construct.</li><li>4. blebber is a complicated HTML tag with only a sketchy
definition, implemented by one user agent vendor, and wolx
indicates implementation of a well-defined subset of the blebber
tag by some other vendor(s).  y.html uses only this well-defined subset.</li></ul></p></blockquote></section><section><h1>20.2 Use of numeric feature tags</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end></p><blockquote><p>As an example of negotiation in a numeric area, the following variant
list describes four variants with title graphics designed for
increasing screen widths:<pre>     {&quot;home.pda&quot;    1.0 {features screenwidth=[-199] }},
     {&quot;home.narrow&quot; 1.0 {features screenwidth=[200-599] }},
     {&quot;home.normal&quot; 1.0 {features screenwidth=[600-999] }},
     {&quot;home.wide&quot;   1.0 {features screenwidth=[1000-] }},
     {&quot;home.normal&quot;}</pre></p></blockquote><blockquote><p>The last element of the list specifies a safe default for user agents
which do not implement screen width negotiation.  Such user agents
will reject the first four variants as unusable, as they seem to rely
on a feature which they do not understand.</p></blockquote></section><section><h1>20.3 Feature tag design</h1><p>→<code class="WikiPage"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特徴札</anchor></code> 参照。</p></section></figure></section></body></html>