HTML Standard Tracker

Filter

File a bug

SVNBugCommentTime (UTC)
1130Make it legal to have multiple keywords in rel='', but only for rel=up.2007-11-06 15:26
@@ -1635,21 +1635,21 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E..
   <p class="big-issue">We may want to add <code>add()</code> and
   <code>remove()</code> methods here too because IE implements
   HTMLSelectElement and HTMLOptionsCollection on the same object, and
   so people use them almost interchangeably in the wild.</p>
 
 
   <h4>DOMTokenList</h4>
 
   <p>The <code>DOMTokenList</code> interface represents an interface
   to an underlying string that consists of an <span>unordered set of
-  space-separated tokens</span>.</p>
+  unique space-separated tokens</span>.</p>
 
   <p>Which string underlies a particular <code>DOMTokenList</code>
   object is defined when the object is created. It might be a content
   attribute (e.g. the string that underlies the <code
   title="dom-classList">classList</code> object is the <code
   title="attr-class">class</code> attribute), or it might be an
   anonymous string (e.g. when a <code>DOMTokenList</code> object is
   passed to an author-implemented callback in the
   <code>datagrid</code> APIs).</p>
 
@@ -1980,28 +1980,28 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E..
   XXX--><code>iframe</code>, <code>img</code>, <code>input</code>,
   <code>map</code>, <code>meta</code>, <code>object</code>,<!-- param?
   XXX--> <code>select</code>, and <code>textarea</code> elements in
   that document that have a <code title="">name</code> attribute whose
   value is equal<!-- XXX case sensitivity --> to the <var
   title="">name</var> argument.</p> <!-- XXX what about XHTML? -->
 
   <p>The <dfn
   title="dom-document-getElementsByClassName"><code>getElementsByClassName(<var
   title="">classNames</var>)</code></dfn> method takes a string that
-  contains an <span>unordered set of space-separated tokens</span>
-  representing classes. When called, the method must return a live
-  <code>NodeList</code> object containing all the elements in the
-  document that have all the classes specified in that argument,
-  having obtained the classes by <span title="split a string on
-  spaces">splitting a string on spaces</span>. If there are no tokens
-  specified in the argument, then the method must return an empty
-  <code>NodeList</code>.</p>
+  contains an <span>unordered set of unique space-separated
+  tokens</span> representing classes. When called, the method must
+  return a live <code>NodeList</code> object containing all the
+  elements in the document that have all the classes specified in that
+  argument, having obtained the classes by <span title="split a string
+  on spaces">splitting a string on spaces</span>. If there are no
+  tokens specified in the argument, then the method must return an
+  empty <code>NodeList</code>.</p>
 
   <p>The <dfn
   title="dom-getElementsByClassName"><code>getElementsByClassName()</code></dfn>
   method on the <code>HTMLElement</code> interface must return a live
   <code>NodeList</code> with the nodes that the
   <code>HTMLDocument</code> <code
   title="dom-document-getElementsByClassName">getElementsByClassName()</code>
   method would return when passed the same argument(s), excluding any
   elements that are not descendants of the <code>HTMLElement</code>
   object on which the method was invoked.</p>
@@ -4176,21 +4176,21 @@ data:text/xml,<script xmlns="http://www.w3.org/1999/xhtml"><![CDATA[ alert('test
   <p>A <dfn>set of space-separated tokens</dfn> is a set of 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
   title="space character">space characters</span>.</p>
 
   <p>A string containing a <span>set of space-separated tokens</span>
   may have leading or trailing <span title="space character">space
   characters</span>.</p>
 
-  <p>An <dfn>unordered set of space-separated tokens</dfn> is a
+  <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
   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
   are duplicated but where the order of the tokens is meaningful.</p>
 
   <p>When a user agent has to <dfn>split a string on spaces</dfn>, it
   must use the following algorithm:</p>
 
@@ -5051,22 +5051,22 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%0
   element, then the attribute must return the empty string and do
   nothing on setting.</p>
 
 
   <h4 id="classes">The <dfn title="attr-class"><code>class</code></dfn> attribute</h4>
 
   <p>Every <span title="HTML elements">HTML element</span> may have a
   <code title="attr-class">class</code> attribute specified.</p>
 
   <p>The attribute, if specified, must have a value that is an
-  <span>unordered set of space-separated tokens</span> representing
-  the various classes that the element belongs to.</p>
+  <span>unordered set of unique space-separated tokens</span>
+  representing the various classes that the element belongs to.</p>
 
   <p>The classes that an <span title="HTML elements">HTML
   element</span> has assigned to it consists of all the classes
   returned when the value of the <code title="attr-class">class</code>
   attribute is <span title="split a string on spaces">split on
   spaces</span>.</p>
 
   <p class="note">Assigning classes to an element affects class
   matching in selectors in CSS, the <code
   title="dom-document-getElementsByClassName">getElementsByClassName()</code>
@@ -5645,22 +5645,22 @@ class="main"> or <div class="content">. Why do we also need a body?
   document to other resources.</p>
 
   <p>The destination of the link is given by the <dfn
   title="attr-link-href"><code>href</code></dfn> attribute, which must
   be present and must contain a URI (or IRI). If the <code
   title="attr-link-href">href</code> attribute is absent, then the
   element does not define a link.</p>
 
   <p>The type of link indicated (the relationship) is given by the
   value of the <dfn title="attr-link-rel"><code>rel</code></dfn>
-  attribute, which must be present, and must have a value that is an
-  <span>unordered set of space-separated tokens</span>. The <a
+  attribute, which must be present, and must have a value that is a
+  <span>set of space-separated tokens</span>. The <a
   href="#linkTypes">allowed values and their meanings</a> are defined
   in a later section. If the <code title="attr-link-rel">rel</code>
   attribute is absent, or if the value used is not allowed according
   to the definitions in this specification, then the element does not
   define a link.</p>
 
   <p>Two categories of links can be created using the
   <code>link</code> element. <dfn title="external resource link">Links
   to external resources</dfn> are links to resources that are to be
   used to augment the current document, and <dfn title="hyperlink
@@ -21155,26 +21155,27 @@ XXX selection ranges -->
   attribute, if specified, must contain a valid selector. It specifies
   which nodes in the data tree will have the condition's template
   applied. <a href="#refsSELECTORS">[SELECTORS]</a></p>
 
   <p>If the <code title="attr-rule-condition">condition</code>
   attribute is not specified, then the condition applies to all
   elements, text nodes, CDATA nodes, and processing instructions.</p>
 
   <p>The <dfn title="attr-rule-mode"><code>mode</code></dfn>
   attribute, if specified, must have a value that is an
-  <span>unordered set of space-separated tokens</span> representing
-  the various modes for which the rule applies. When, and only when,
-  the <code title="attr-rule-mode">mode</code> attribute is omitted,
-  the rule applies if and only if the mode is the empty string. A mode
-  is invoked by the <code>nest</code> element; for the first node (the
-  root node) of the data tree, the mode is the empty string.</p>
+  <span>unordered set of unique space-separated tokens</span>
+  representing the various modes for which the rule applies. When, and
+  only when, the <code title="attr-rule-mode">mode</code> attribute is
+  omitted, the rule applies if and only if the mode is the empty
+  string. A mode is invoked by the <code>nest</code> element; for the
+  first node (the root node) of the data tree, the mode is the empty
+  string.</p>
 
   <p>The contents of <code>rule</code> elements form a template, and
   may be anything that, when the parent <code>datatemplate</code> is
   applied to some conforming data, results in a conforming DOM
   tree.</p> <!-- XXX examples of conforming and non-conforming rules
   -->
 
   <p>The <dfn title="dom-rule-condition"><code>condition</code></dfn>
   DOM attribute must reflect the <code
   title="attr-rule-condition">condition</code> content attribute.</p>
@@ -28698,27 +28699,27 @@ interface <dfn>SQLStatementErrorCallback</dfn> {
   present, gives the URIs of the resources that are interested in
   being notified if the user follows the hyperlink. The value must be
   a space separated list of one or more URIs (or IRIs). The value is
   used by the user agent when <span>following hyperlinks</span>.</p>
 
   <p>For <code>a</code> and <code>area</code> elements that represent
   hyperlinks, the relationship between the document containing the
   hyperlink and the destination resource indicated by the hyperlink is
   given by the value of the element's <dfn
   title="attr-hyperlink-rel"><code>rel</code></dfn> attribute, which
-  must be an <span>unordered set of space-separated tokens</span>. The
-  <a href="#linkTypes">allowed values and their meanings</a> are
-  defined below. The <code title="attr-hyperlink-rel">rel</code>
-  attribute has no default value. If the attribute is omitted or if
-  none of the values in the attribute are recognised by the UA, then
-  the document has no particular relationship with the destination
-  resource other than there being a hyperlink between the two.</p>
+  must be a <span>set of space-separated tokens</span>. The <a
+  href="#linkTypes">allowed values and their meanings</a> are defined
+  below. The <code title="attr-hyperlink-rel">rel</code> attribute has
+  no default value. If the attribute is omitted or if none of the
+  values in the attribute are recognised by the UA, then the document
+  has no particular relationship with the destination resource other
+  than there being a hyperlink between the two.</p>
 
   <p>The <dfn title="attr-hyperlink-media"><code>media</code></dfn>
   attribute describes for which media the target document was
   designed. It is purely advisory. The value must be a valid media
   query. <a href="#refsMQ">[MQ]</a> The default, if the <code
   title="attr-hyperlink-media">media</code> attribute is omitted, is
   <code>all</code>.</p>
 
   <p>The <dfn
   title="attr-hyperlink-hreflang"><code>hreflang</code></dfn>
@@ -28882,20 +28883,24 @@ interface <dfn>SQLStatementErrorCallback</dfn> {
   the resource identified by the element representing the link, and
   the term <em>current document</em> refers to the resource within
   which the element representing the link finds itself.</p>
 
   <p>To determine which link types apply to a <code>link</code>,
   <code>a</code>, or <code>area</code> element, the element's <code
   title="">rel</code> attribute must be <span title="split a string on
   spaces">split on spaces</span>. The resulting tokens are the link
   types that apply to that element.</p>
 
+  <p>Unless otherwise specified, a keyword must not be specified more
+  than once per <code title="attr-rel-hyperlink">rel</code>
+  attribute.</p>
+
   <table>
    <thead>
     <tr>
      <th rowspan="2">Link type</th>
      <th colspan="2">Effect on...</th>
      <th rowspan="2">Brief description</th>
     </tr>
     <tr>
      <th><code>link</code></th>
      <th><code>a</code> and <code>area</code></th>
@@ -29600,20 +29605,25 @@ at the first element with the given ID must be treated as if it was cloned and r
  &lt;/p>
  &lt;p>
   &lt;a href="/" rel="index up up">Main&lt;/a> &gt;
   &lt;a href="/second-hand/" rel="up">Second hand&lt;/a> &gt;
   &lt;a>Dishwashers&lt;/a>
  &lt;/p>
 &lt;/nav></pre>
 
   </div>
 
+  <p class="note">The <code title="dom-a-relList">relList</code> DOM
+  attribute (e.g. on the <code>a</code> element) does not currently
+  represent multiple <code title="rel-up">up</code> keywords (the
+  interface hides duplicates).</p>
+
 
   <h5>Sequential link types</h5>
 
   <p>Some documents form part of a sequence of documents.</p>
 
   <p>A sequence of documents is one where each document can have a
   <em>previous sibling</em> and a <em>next sibling</em>. A document
   with no previous sibling is the start of its sequence, a document
   with no next sibling is the end of its sequence.</p>
 

|