HTML Standard Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/5571

File a bug

SVNBugCommentTime (UTC)
557110781[Authors] [Conformance Checkers] [Gecko] [Internet Explorer] [Opera] [Webkit] Better define how sets of unique space-separated tokens are handled in terms of case-sensitivity.2010-09-30 23:07
Index: source
===================================================================
--- source	(revision 5570)
+++ source	(revision 5571)
@@ -4998,9 +4998,9 @@
   <h4>Space-separated tokens</h4>
 
   <p>A <dfn>set of space-separated tokens</dfn> is a string containing
-  zero or more words separated by one or more <span title="space
-  character">space characters</span>, where words consist of any
-  string of one or more characters, none of which are <span
+  zero or more words (known as tokens) separated by one or more <span
+  title="space character">space characters</span>, where words consist
+  of any string of one or more characters, none of which are <span
   title="space character">space characters</span>.</p>
 
   <p>A string containing a <span>set of space-separated tokens</span>
@@ -5008,11 +5008,11 @@
   characters</span>.</p>
 
   <p>An <dfn>unordered set of unique space-separated tokens</dfn> is a
-  <span>set of space-separated tokens</span> where none of the words
+  <span>set of space-separated tokens</span> where none of the tokens
   are duplicated.</p>
 
   <p>An <dfn>ordered set of unique space-separated tokens</dfn> is a
-  <span>set of space-separated tokens</span> where none of the words
+  <span>set of space-separated tokens</span> where none of the tokens
   are duplicated but where the order of the tokens is meaningful.</p>
 
   <p><span title="set of space-separated tokens">Sets of
@@ -5022,6 +5022,10 @@
   non-conforming. If no such set of allowed values is provided, then
   all values are conforming.</p>
 
+  <p class="note">How tokens in a <span>set of space-separated
+  tokens</span> are to be compared (e.g. case-sensitively or not) is
+  defined on a per-set basis.</p>
+
   <div class="impl">
 
   <p>When a user agent has to <dfn>split a string on spaces</dfn>, it
@@ -5107,7 +5111,8 @@
    characters</span>, and let that be <var title="">s</var>.</p></li>
 
    <li><p>If <var title="">s</var> is exactly equal to <var
-   title="">token</var>, then:</p>
+   title="">token</var> (this is a <span>case-sensitive</span>
+   comparison), then:</p>
 
     <ol>
 
@@ -23660,8 +23665,8 @@
   <p>The <dfn title="attr-iframe-sandbox"><code>sandbox</code></dfn>
   attribute, when specified, enables a set of extra restrictions on
   any content hosted by the <code>iframe</code>. Its value must be an
-  <span>unordered set of unique space-separated tokens</span>. The
-  allowed values are <code
+  <span>unordered set of unique space-separated tokens</span> that are
+  <span>ASCII case-insensitive</span>. The allowed values are <code
   title="attr-iframe-sandbox-allow-same-origin">allow-same-origin</code>,
   <code
   title="attr-iframe-sandbox-allow-top-navigation">allow-top-navigation</code>,
@@ -39324,11 +39329,12 @@
   attribute specified. The <code
   title="attr-tdth-headers">headers</code> attribute, if specified,
   must contain a string consisting of an <span>unordered set of unique
-  space-separated tokens</span>, each of which must have the value of
-  an <span title="concept-id">ID</span> of a <code>th</code> element taking part in the same <span
-  title="concept-table">table</span> as the <code>td</code> or
-  <code>th</code> element<span class="impl"> (as defined by the
-  <span>table model</span>)</span>.</p>
+  space-separated tokens</span> that are <span>case-sensitive</span>,
+  each of which must have the value of an <span
+  title="concept-id">ID</span> of a <code>th</code> element taking
+  part in the same <span title="concept-table">table</span> as the
+  <code>td</code> or <code>th</code> element<span class="impl"> (as
+  defined by the <span>table model</span>)</span>.</p>
 
   <p>A <code>th</code> element with <span title="concept-id">ID</span> <var title="">id</var> is said
   to be <i>directly targeted</i> by all <code>td</code> and
@@ -41461,10 +41467,11 @@
   title="attr-form-accept-charset"><code>accept-charset</code></dfn>
   attribute gives the character encodings that are to be used for the
   submission. If specified, the value must be an <span>ordered set of
-  unique space-separated tokens</span>, and each token must be an
-  <span>ASCII case-insensitive</span> match for the <span>preferred
-  MIME name</span> of an <span>ASCII-compatible character
-  encoding</span>. <a href="#refsIANACHARSET">[IANACHARSET]</a></p>
+  unique space-separated tokens</span> that are <span>ASCII
+  case-insensitive</span>, and each token must be an <span>ASCII
+  case-insensitive</span> match for the <span>preferred MIME
+  name</span> of an <span>ASCII-compatible character encoding</span>.
+  <a href="#refsIANACHARSET">[IANACHARSET]</a></p>
 
   <p>The <dfn title="attr-form-name"><code>name</code></dfn> attribute
   represents the <code>form</code>'s name within the <code
@@ -50237,8 +50244,9 @@
   that went into the calculation or that otherwise influenced the
   calculation. The <code title="attr-output-for">for</code> attribute,
   if specified, must contain a string consisting of an <span>unordered
-  set of unique space-separated tokens</span>, each of which must have
-  the value of an <span title="concept-id">ID</span> of an element in the same
+  set of unique space-separated tokens</span> that are
+  <span>case-sensitive</span>, each of which must have the value of an
+  <span title="concept-id">ID</span> of an element in the same
   <code>Document</code>.</p>
 
   <p>The <code title="attr-fae-form">form</code> attribute is used to
@@ -58303,13 +58311,14 @@
   attribute gives the sizes of icons for visual media.</p>
 
   <p>If specified, the attribute must have a value that is an
-  <span>unordered set of unique space-separated tokens</span>. The
-  values must all be either <code
-  title="attr-link-sizes-any">any</code> or a value that consists of
-  two <span title="valid non-negative integer">valid non-negative
-  integers</span> that do not have a leading U+0030 DIGIT ZERO (0)
-  character and that are separated by a single U+0078 LATIN SMALL
-  LETTER X character (x).</p>
+  <span>unordered set of unique space-separated tokens</span>, which
+  are <span>ASCII case-insensitive</span>. The values must all be
+  either an <span>ASCII case-insensitive</span> match for the string
+  "<code title="attr-link-sizes-any">any</code>", or a value that
+  consists of two <span title="valid non-negative integer">valid
+  non-negative integers</span> that do not have a leading U+0030 DIGIT
+  ZERO (0) character and that are separated by a single U+0078 LATIN
+  SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character.</p>
 
   <p>The keywords represent icon sizes.</p>
 
@@ -58334,14 +58343,17 @@
   <ul>
 
    <li><p>If the keyword doesn't contain exactly one U+0078 LATIN
-   SMALL LETTER X character (x), then this keyword doesn't represent
-   anything. Abort these steps for that keyword.</p></li>
+   SMALL LETTER X or U+0058 LATIN CAPITAL LETTER X character, then
+   this keyword doesn't represent anything. Abort these steps for that
+   keyword.</p></li>
 
    <li><p>Let <var title="">width string</var> be the string before
-   the "<code title="">x</code>".</p></li>
+   the "<code title="">x</code>" or "<code
+   title="">X</code>".</p></li>
 
-   <li><p>Let <var title="">height string</var> be the string after the
-   "<code title="">x</code>".</p></li>
+   <li><p>Let <var title="">height string</var> be the string after
+   the "<code title="">x</code>" or "<code
+   title="">X</code>".</p></li>
 
    <li><p>If either <var title="">width string</var> or <var
    title="">height string</var> start with a U+0030 DIGIT ZERO (0)
@@ -60652,7 +60664,8 @@
 
   <p>The <code title="attr-itemref">itemref</code> attribute, if
   specified, must have a value that is an <span>unordered set of
-  unique space-separated tokens</span> consisting of <span
+  unique space-separated tokens</span> that are
+  <span>case-sensitive</span>, consisting of <span
   title="concept-ID">IDs</span> of elements in the same <span>home
   subtree</span>.</p>
 
@@ -60671,7 +60684,8 @@
 
   <p>The <code title="attr-itemprop">itemprop</code> attribute, if
   specified, must have a value that is an <span>unordered set of
-  unique space-separated tokens</span> representing the names of the
+  unique space-separated tokens</span> that are
+  <span>case-sensitive</span>, representing the names of the
   name-value pairs that it adds. The attribute's value must have at
   least one token.</p>
 
@@ -61119,20 +61133,20 @@
   title="dom-document-getItems"><code>document.getItems(<var
   title="">typeNames</var>)</code></dfn> method takes an optional
   string that contains an <span>unordered set of unique
-  space-separated tokens</span> representing types. When called, the
-  method must return a <span>live</span> <code>NodeList</code> object
-  containing all the elements in the document, in <span>tree
-  order</span>, that are each <span>top-level microdata items</span>
-  with a <span title="item type">type</span> equal to one of the types
-  specified in that argument, having obtained the types by <span
-  title="split a string on spaces">splitting the string on
-  spaces</span>. If there are no tokens specified in the argument, or
-  if the argument is missing, then the method must return a
-  <code>NodeList</code> containing all the <span>top-level microdata
-  items</span> in the document.
-  When the method is invoked on a <code>Document</code> object again
-  with the same argument, the user agent may return the same object as
-  the object returned by the earlier call. In other cases, a new
+  space-separated tokens</span> that are <span>case-sensitive</span>,
+  representing types. When called, the method must return a
+  <span>live</span> <code>NodeList</code> object containing all the
+  elements in the document, in <span>tree order</span>, that are each
+  <span>top-level microdata items</span> with a <span title="item
+  type">type</span> equal to one of the types specified in that
+  argument, having obtained the types by <span title="split a string
+  on spaces">splitting the string on spaces</span>. If there are no
+  tokens specified in the argument, or if the argument is missing,
+  then the method must return a <code>NodeList</code> containing all
+  the <span>top-level microdata items</span> in the document. When the
+  method is invoked on a <code>Document</code> object again with the
+  same argument, the user agent may return the same object as the
+  object returned by the earlier call. In other cases, a new
   <code>NodeList</code> object must be returned.</p>
 
   <p>The <dfn title="dom-itemScope"><code>itemScope</code></dfn> IDL
@@ -76113,8 +76127,8 @@
   that activates or focuses the element.</p>
 
   <p>If specified, the value must be an <span>ordered set of unique
-  space-separated tokens</span>, each of which must be exactly one
-  Unicode code point in length.</p>
+  space-separated tokens</span> that are <span>case-sensitive</span>,
+  each of which must be exactly one Unicode code point in length.</p>
 
   <div class="impl">
 
@@ -104452,12 +104466,12 @@
      <th> <code title="">accept-charset</code>
      <td> <code title="attr-form-accept-charset">form</code>
      <td> Character encodings to use for <span>form submission</span>
-     <td> <span>Ordered set of unique space-separated tokens</span> consisting of <span title="preferred MIME name">preferred MIME names</span> of <span title="ASCII-compatible character encoding">ASCII-compatible character encodings</span>*
+     <td> <span>Ordered set of unique space-separated tokens</span>, <span>ASCII case-insensitive</span>, consisting of <span title="preferred MIME name">preferred MIME names</span> of <span title="ASCII-compatible character encoding">ASCII-compatible character encodings</span>*
     <tr>
      <th> <code title="">accesskey</code>
      <td> <span title="attr-accesskey">HTML elements</span>
      <td> Keyboard shortcut to activate or focus element
-     <td> <span>Ordered set of unique space-separated tokens</span> consisting of one Unicode code point in length
+     <td> <span>Ordered set of unique space-separated tokens</span>, <span>case-sensitive</span>, consisting of one Unicode code point in length
     <tr>
      <th> <code title="">action</code>
      <td> <code title="attr-fs-action">form</code>
@@ -104529,7 +104543,7 @@
      <th> <code title="">class</code>
      <td> <span title="attr-class">HTML elements</span>
      <td> Classes to which the element belongs
-     <td> <span>Unordered set of unique space-separated tokens</span>
+     <td> <span>Set of space-separated tokens</span>
     <tr>
      <th> <code title="">cols</code>
      <td> <code title="attr-textarea-cols">textarea</code>
@@ -104625,7 +104639,7 @@
      <th> <code title="">for</code>
      <td> <code title="attr-output-for">output</code>
      <td> Specifies controls from which the output was calculated
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of IDs*
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>case-sensitive</span>, consisting of IDs*
     <tr>
      <th> <code title="">form</code>
      <td> <code title="attr-fae-form">button</code>;
@@ -104676,7 +104690,7 @@
      <td> <code title="attr-tdth-headers">td</code>;
           <code title="attr-tdth-headers">th</code>
      <td> The header cells for this cell
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of IDs*
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>case-sensitive</span>, consisting of IDs*
     <tr>
      <th> <code title="">height</code>
      <td> <code title="attr-canvas-height">canvas</code>;
@@ -104751,12 +104765,12 @@
      <th> <code title="">itemprop</code>
      <td> <span title="attr-itemprop">HTML elements</span>
      <td> <span>Property names</span> of a microdata item
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of <span title="absolute URL">valid absolute URLs</span>, <span title="defined property name">defined property names</span>, or text*
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>case-sensitive</span>, consisting of <span title="absolute URL">valid absolute URLs</span>, <span title="defined property name">defined property names</span>, or text*
     <tr>
      <th> <code title="">itemref</code>
      <td> <span title="attr-itemref">HTML elements</span>
      <td> Referenced elements
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of IDs*
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>case-sensitive</span>, consisting of IDs*
     <tr>
      <th> <code title="">itemscope</code>
      <td> <span title="attr-itemscope">HTML elements</span>
@@ -105002,7 +105016,7 @@
      <th> <code title="">sandbox</code>
      <td> <code title="attr-iframe-sandbox">iframe</code>
      <td> Security rules for nested content
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>ASCII case-insensitive</span>, consisting of
           "<code title="attr-iframe-sandbox-allow-same-origin">allow-same-origin</code>",
           "<code title="attr-iframe-sandbox-allow-forms">allow-forms</code>", and
           "<code title="attr-iframe-sandbox-allow-scripts">allow-scripts</code>"
@@ -105052,7 +105066,7 @@
      <th> <code title="">sizes</code>
      <td> <code title="attr-link-sizes">link</code>
      <td> Sizes of the icons (for <code title="attr-link-rel">rel</code>="<code title="rel-icon">icon</code>")
-     <td> <span>Unordered set of unique space-separated tokens</span> consisting of sizes*
+     <td> <span>Unordered set of unique space-separated tokens</span>, <span>ASCII case-insensitive</span>, consisting of sizes*
     <tr>
      <th> <code title="">span</code>
      <td> <code title="attr-col-span">col</code>;

|