Skip to content
Permalink
Browse files

[] (0) Change how vendor extensions are marked up.

Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=9590

git-svn-id: http://svn.whatwg.org/webapps@5562 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Sep 29, 2010
1 parent 40c807c commit 7d8c6fe8c8a2ad5b5ee72a7dcfbad5ae5591cba0
Showing with 59 additions and 35 deletions.
  1. +18 −11 complete.html
  2. +18 −11 index
  3. +23 −13 source

<p>For markup-level features that are intended for use with
<a href=#syntax>the HTML syntax</a>, extensions should be limited to new
attributes of the form "<code title=""><var title="">vendor</var>--<var title="">feature</var></code>", where
attributes of the form "<code title="">x0<var title="">vendor</var>-<var title="">feature</var></code>", where
<var title="">vendor</var> is a short string that identifies the
vendor responsible for the extension, and <var title="">feature</var> is the name of the feature. (Note the use of
<em>two</em> hyphens in the name.) New element names should not be
created. Using attributes for such extensions exclusively allows
extensions from multiple vendors to co-exist on the same element,
which would not be possible with elements. Using the "<code title=""><var title="">vendor</var>--<var title="">feature</var></code>" form allows extensions to be made
vendor responsible for the extension, and <var title="">feature</var> is the name of the feature. New element names
should not be created. Using attributes for such extensions
exclusively allows extensions from multiple vendors to co-exist on
the same element, which would not be possible with elements. Using
the "<code title="">x-<var title="">vendor</var>-<var title="">feature</var></code>" form allows extensions to be made
without risk of conflicting with future additions to the
specification.</p>

these features could write:</p>

<pre>&lt;p&gt;This smells of lemons!
&lt;span ferret--smellovision ferret--smellcode="LEM01"
mb--outputsmell mb--smell="lemon juice"&gt;&lt;/span&gt;&lt;/p&gt;</pre>
&lt;span x-ferret-smellovision x-ferret-smellcode="LEM01"
x-mb-outputsmell x-mb-smell="lemon juice"&gt;&lt;/span&gt;&lt;/p&gt;</pre>

</div>

<p>Attribute names containing two consecutive U+002D HYPHEN-MINUS
(-) characters are reserved for user agent use and are guaranteed to
never be formally added to the HTML language.</p>
<p>Attribute names beginning with the two characters "<code title="">x-</code>" are reserved for user agent use and are
guaranteed to never be formally added to the HTML language. For
flexibility, attributes names containing underscores (the U+005F LOW
LINE character) are also reserved for experimental purposes and are
guaranteed to never be formally added to the HTML language.</p>

<p class=note>Pages that use such attributes are by definition
non-conforming.</p>

</div>

<p>When adding new <a href=#reflect title=reflect>reflecting</a> IDL
attributes corresponding to content attributes of the form "<code title="">x-<var title="">vendor</var>-<var title="">feature</var></code>", the IDL attribute should be named
"<code title=""><var title="">vendor</var><var title="">Feature</var></code>" (i.e. the "<code title="">x</code>"
is dropped from the IDL attribute's name).</p>

<hr><p>When vendor-neutral extensions to this specification are needed,
either this specification can be updated accordingly, or an
extension specification can be written that overrides the
29 index

<p>For markup-level features that are intended for use with
<a href=#syntax>the HTML syntax</a>, extensions should be limited to new
attributes of the form "<code title=""><var title="">vendor</var>--<var title="">feature</var></code>", where
attributes of the form "<code title="">x0<var title="">vendor</var>-<var title="">feature</var></code>", where
<var title="">vendor</var> is a short string that identifies the
vendor responsible for the extension, and <var title="">feature</var> is the name of the feature. (Note the use of
<em>two</em> hyphens in the name.) New element names should not be
created. Using attributes for such extensions exclusively allows
extensions from multiple vendors to co-exist on the same element,
which would not be possible with elements. Using the "<code title=""><var title="">vendor</var>--<var title="">feature</var></code>" form allows extensions to be made
vendor responsible for the extension, and <var title="">feature</var> is the name of the feature. New element names
should not be created. Using attributes for such extensions
exclusively allows extensions from multiple vendors to co-exist on
the same element, which would not be possible with elements. Using
the "<code title="">x-<var title="">vendor</var>-<var title="">feature</var></code>" form allows extensions to be made
without risk of conflicting with future additions to the
specification.</p>

these features could write:</p>

<pre>&lt;p&gt;This smells of lemons!
&lt;span ferret--smellovision ferret--smellcode="LEM01"
mb--outputsmell mb--smell="lemon juice"&gt;&lt;/span&gt;&lt;/p&gt;</pre>
&lt;span x-ferret-smellovision x-ferret-smellcode="LEM01"
x-mb-outputsmell x-mb-smell="lemon juice"&gt;&lt;/span&gt;&lt;/p&gt;</pre>

</div>

<p>Attribute names containing two consecutive U+002D HYPHEN-MINUS
(-) characters are reserved for user agent use and are guaranteed to
never be formally added to the HTML language.</p>
<p>Attribute names beginning with the two characters "<code title="">x-</code>" are reserved for user agent use and are
guaranteed to never be formally added to the HTML language. For
flexibility, attributes names containing underscores (the U+005F LOW
LINE character) are also reserved for experimental purposes and are
guaranteed to never be formally added to the HTML language.</p>

<p class=note>Pages that use such attributes are by definition
non-conforming.</p>

</div>

<p>When adding new <a href=#reflect title=reflect>reflecting</a> IDL
attributes corresponding to content attributes of the form "<code title="">x-<var title="">vendor</var>-<var title="">feature</var></code>", the IDL attribute should be named
"<code title=""><var title="">vendor</var><var title="">Feature</var></code>" (i.e. the "<code title="">x</code>"
is dropped from the IDL attribute's name).</p>

<hr><p>When vendor-neutral extensions to this specification are needed,
either this specification can be updated accordingly, or an
extension specification can be written that overrides the
36 source
@@ -2359,16 +2359,15 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d

<p>For markup-level features that are intended for use with
<span>the HTML syntax</span>, extensions should be limited to new
attributes of the form "<code title=""><var
title="">vendor</var>--<var title="">feature</var></code>", where
attributes of the form "<code title="">x0<var
title="">vendor</var>-<var title="">feature</var></code>", where
<var title="">vendor</var> is a short string that identifies the
vendor responsible for the extension, and <var
title="">feature</var> is the name of the feature. (Note the use of
<em>two</em> hyphens in the name.) New element names should not be
created. Using attributes for such extensions exclusively allows
extensions from multiple vendors to co-exist on the same element,
which would not be possible with elements. Using the "<code
title=""><var title="">vendor</var>--<var
title="">feature</var> is the name of the feature. New element names
should not be created. Using attributes for such extensions
exclusively allows extensions from multiple vendors to co-exist on
the same element, which would not be possible with elements. Using
the "<code title="">x-<var title="">vendor</var>-<var
title="">feature</var></code>" form allows extensions to be made
without risk of conflicting with future additions to the
specification.</p>
@@ -2382,14 +2381,17 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d
these features could write:</p>

<pre>&lt;p>This smells of lemons!
&lt;span ferret--smellovision ferret--smellcode="LEM01"
mb--outputsmell mb--smell="lemon juice">&lt;/span>&lt;/p></pre>
&lt;span x-ferret-smellovision x-ferret-smellcode="LEM01"
x-mb-outputsmell x-mb-smell="lemon juice">&lt;/span>&lt;/p></pre>

</div>

<p>Attribute names containing two consecutive U+002D HYPHEN-MINUS
(-) characters are reserved for user agent use and are guaranteed to
never be formally added to the HTML language.</p>
<p>Attribute names beginning with the two characters "<code
title="">x-</code>" are reserved for user agent use and are
guaranteed to never be formally added to the HTML language. For
flexibility, attributes names containing underscores (the U+005F LOW
LINE character) are also reserved for experimental purposes and are
guaranteed to never be formally added to the HTML language.</p>

<p class="note">Pages that use such attributes are by definition
non-conforming.</p>
@@ -2417,6 +2419,14 @@ a.setAttribute('href', 'http://example.com/'); // change the content attribute d

</div>

<p>When adding new <span title="reflect">reflecting</span> IDL
attributes corresponding to content attributes of the form "<code
title="">x-<var title="">vendor</var>-<var
title="">feature</var></code>", the IDL attribute should be named
"<code title=""><var title="">vendor</var><var
title="">Feature</var></code>" (i.e. the "<code title="">x</code>"
is dropped from the IDL attribute's name).</p>

<hr>

<p>When vendor-neutral extensions to this specification are needed,

0 comments on commit 7d8c6fe

Please sign in to comment.
You can’t perform that action at this time.