[html5] r883 - /

whatwg at whatwg.org whatwg at whatwg.org
Mon Jun 11 15:36:31 PDT 2007


Author: ianh
Date: 2007-06-11 15:36:28 -0700 (Mon, 11 Jun 2007)
New Revision: 883

Modified:
   index
   source
Log:
[] (0) Define processing of <script type> and <script language>. To some extent.

Modified: index
===================================================================
--- index	2007-06-09 02:29:40 UTC (rev 882)
+++ index	2007-06-11 22:36:28 UTC (rev 883)
@@ -22,7 +22,7 @@
 
    <h1 id=html-5>HTML 5</h1>
 
-   <h2 class="no-num no-toc" id=working>Working Draft — 9 June 2007</h2>
+   <h2 class="no-num no-toc" id=working>Working Draft — 11 June 2007</h2>
 
    <p>You can take part in this work. <a
     href="http://www.whatwg.org/mailing-list">Join the working group's
@@ -793,8 +793,8 @@
        <li><a href="#script"><span class=secno>3.17.1. </span>The
         <code>script</code> element</a>
         <ul class=toc>
-         <li><a href="#script0"><span class=secno>3.17.1.1. </span>Script
-          languages</a>
+         <li><a href="#scriptingLanguages"><span class=secno>3.17.1.1.
+          </span>Scripting languages</a>
         </ul>
 
        <li><a href="#the-noscript"><span class=secno>3.17.2. </span>The
@@ -1769,11 +1769,11 @@
      specifications.</p>
 
     <p class=example>A conforming XHTML processor would, upon finding an
-     XHTML <code><a href="#script1">script</a></code> element in an XML
+     XHTML <code><a href="#script0">script</a></code> element in an XML
      document, execute the script contained in that element. However, if the
      element is found within an XSLT transformation sheet (assuming the UA
      also supports XSLT), then the processor would instead treat the <code><a
-     href="#script1">script</a></code> element as an opaque element that
+     href="#script0">script</a></code> element as an opaque element that
      forms part of the transform.</p>
 
     <p>Web browsers that support <a href="#html5" title=HTML5>HTML</a> must
@@ -3658,13 +3658,13 @@
      inserted, one at a time, processing resulting tokens as they are
      emitted, and stopping when the tokeniser reaches the insertion point or
      when the processing of the tokeniser is aborted by the tree construction
-     stage (this can happen if a <code><a href="#script1">script</a></code>
+     stage (this can happen if a <code><a href="#script0">script</a></code>
      start tag token is emitted by the tokeniser).
 
     <p class=note>If the <code title=dom-document-write-HTML><a
      href="#document.write0">document.write()</a></code> method was called
      from script executing inline (i.e. executing because the parser parsed a
-     set of <code><a href="#script1">script</a></code> tags), then this is a
+     set of <code><a href="#script0">script</a></code> tags), then this is a
      <a href="#nestedParsing">reentrant invocation of the parser</a>.</p>
 
    <li>
@@ -3752,7 +3752,7 @@
      <dd>
       <p>If one of the ancestors of the child node is a <code><a
        href="#style">style</a></code>, <code><a
-       href="#script1">script</a></code>, <code>xmp</code>, <code><a
+       href="#script0">script</a></code>, <code>xmp</code>, <code><a
        href="#iframe">iframe</a></code>, <code>noembed</code>,
        <code>noframes</code>, or <code><a
        href="#noscript">noscript</a></code> element, then append the value of
@@ -3828,7 +3828,7 @@
    then when the result of serialising the element is parsed, the comment
    will be truncated at that point and the rest of the comment will be
    interpreted as markup. Another example would be making a <code><a
-   href="#script1">script</a></code> element contain a text node with the
+   href="#script0">script</a></code> element contain a text node with the
    text string "<code></script></code>".
 
   <p>On setting, if the node is a document, the <code
@@ -3920,7 +3920,7 @@
       <em>RCDATA</em>.
 
      <dt>If it is a <code><a href="#style">style</a></code>, <code><a
-      href="#script1">script</a></code>, <code>xmp</code>, <code><a
+      href="#script0">script</a></code>, <code>xmp</code>, <code><a
       href="#iframe">iframe</a></code>, <code>noembed</code>,
       <code>noframes</code>, or <code><a href="#noscript">noscript</a></code>
       element
@@ -5966,7 +5966,7 @@
    <li>Finally, some have very specific content models: <code><a
     href="#ul">ul</a></code>, <code><a href="#ol">ol</a></code>, <code><a
     href="#dl">dl</a></code>, <code><a href="#table">table</a></code>,
-    <code><a href="#script1">script</a></code>.
+    <code><a href="#script0">script</a></code>.
   </ul>
 
   <p>There are also elements that seem to be block-level but aren't, such as
@@ -5977,7 +5977,7 @@
    allowed.
 
   <p>Some block-level elements play multiple roles. For instance, the
-   <code><a href="#script1">script</a></code> elements is allowed inside
+   <code><a href="#script0">script</a></code> elements is allowed inside
    <code><a href="#head">head</a></code> elements and can also be used as <a
    href="#inline-level0">inline-level content</a>. Similarly, the <code><a
    href="#ul">ul</a></code>, <code><a href="#ol">ol</a></code>, <code><a
@@ -6911,7 +6911,7 @@
     <a href="#metadata">metadata elements</a> (in particular, <code><a
     href="#link">link</a></code>, <code><a href="#meta0">meta</a></code>,
     <code><a href="#style">style</a></code>, and <code><a
-    href="#script1">script</a></code>).
+    href="#script0">script</a></code>).
 
    <dt>Element-specific attributes:
 
@@ -7366,7 +7366,7 @@
    href="#title1">title</a></code>, <code><a href="#base">base</a></code>,
    <code><a href="#link">link</a></code>, <code><a
    href="#style">style</a></code>, and <code><a
-   href="#script1">script</a></code> elements.
+   href="#script0">script</a></code> elements.
 
   <p>The <code><a href="#meta0">meta</a></code> element can represent
    document-level metadata with the <code title=attr-meta-name><a
@@ -18790,7 +18790,7 @@
   <h3 id=scripting0><span class=secno>3.17. </span>Scripting</h3>
 
   <h4 id=script><span class=secno>3.17.1. </span>The <dfn
-   id=script1><code>script</code></dfn> element</h4>
+   id=script0><code>script</code></dfn> element</h4>
 
   <p><a href="#block-level0" title="block-level elements">Block-level
    element</a>, <a href="#strictly">strictly inline-level content</a>, and <a
@@ -18837,11 +18837,11 @@
 };</pre>
   </dl>
 
-  <p>The <code><a href="#script1">script</a></code> element allows authors to
+  <p>The <code><a href="#script0">script</a></code> element allows authors to
    include dynamic script in their documents.
 
   <p>When the <dfn id=src9 title=attr-script-src><code>src</code></dfn>
-   attribute is set, the <code><a href="#script1">script</a></code> element
+   attribute is set, the <code><a href="#script0">script</a></code> element
    refers to an external file. The value of the attribute must be a URI (or
    IRI).
 
@@ -18849,10 +18849,10 @@
    attribute is not set, then the script is given by the contents of the
    element.
 
-  <p>The language of the script is given by the <dfn id=type11
-   title=attr-script-type><code>type</code></dfn> attribute. The value must
-   be a valid MIME type, optionally with parameters. <a
-   href="#refsRFC2046">[RFC2046]</a>
+  <p>The language of the script may be given by the <dfn id=type11
+   title=attr-script-type><code>type</code></dfn> attribute. If the attribute
+   is present, its value must be a valid MIME type, optionally with
+   parameters. <a href="#refsRFC2046">[RFC2046]</a>
 
   <p>The <dfn id=defer title=attr-script-defer><code>defer</code></dfn> and
    <dfn id=async title=attr-script-async><code>async</code></dfn> attributes
@@ -18883,18 +18883,21 @@
    specific times described below (namely, when the element is inserted into
    the document).
 
-  <p><code><a href="#script1">script</a></code> elements have two associated
-   pieces of metadata. The first is a flag indicating whether or not the
-   script block has been <dfn id=already>"already executed"</dfn>. Initially,
-   <code><a href="#script1">script</a></code> elements must have this flag
-   unset (script blocks, when created, are not "already executed"). When a
-   <code><a href="#script1">script</a></code> element is cloned, the "already
-   executed" flag, if set, must be propagated to the clone when it is
-   created. The second is a flag indicating whether the element was <dfn
+  <p><code><a href="#script0">script</a></code> elements have three
+   associated pieces of metadata. The first is a flag indicating whether or
+   not the script block has been <dfn id=already>"already executed"</dfn>.
+   Initially, <code><a href="#script0">script</a></code> elements must have
+   this flag unset (script blocks, when created, are not "already executed").
+   When a <code><a href="#script0">script</a></code> element is cloned, the
+   "already executed" flag, if set, must be propagated to the clone when it
+   is created. The second is a flag indicating whether the element was <dfn
    id=parser-inserted>"parser-inserted"</dfn>. This flag is set by the <a
    href="#html-0">HTML parser</a> and is used to handle <code
    title=dom-document-write-HTML><a
-   href="#document.write0">document.write()</a></code> calls.
+   href="#document.write0">document.write()</a></code> calls. The third piece
+   of metadata is <dfn id=the-scripts><var>the script's type</var></dfn>. It
+   is determined when the script is run, based on the attributes on the
+   element at that time.
 
   <p><dfn id=running0 title="running a script">Running a script</dfn>: when a
    script block is <span>inserted into a document</span>, the user agent must
@@ -18902,17 +18905,38 @@
 
   <ol>
    <li>
-    <p class=big-issue>How to handle the <code title=attr-script-type><a
-     href="#type11">type</a></code> and <code
-     title=attr-script-language>language</code> attributes should be defined
-     here, probably with reference to the next section.</p>
+    <p>If the <code><a href="#script0">script</a></code> element has a <code
+     title=attr-script-type><a href="#type11">type</a></code> attribute but
+     its value is the empty string, or if the <code><a
+     href="#script0">script</a></code> element has no <code
+     title=attr-script-type><a href="#type11">type</a></code> attribute but
+     it has a <code title=attr-script-language>language</code> attribute, and
+     <em>that</em> attribute's value is the empty string, let <var><a
+     href="#the-scripts">the script's type</a></var> for this <code><a
+     href="#script0">script</a></code> element be "<code
+     title="">text/javascript</code>".</p>
 
+    <p>Otherwise, if the <code><a href="#script0">script</a></code> element
+     has a <code title=attr-script-type><a href="#type11">type</a></code>
+     attribute, let <var><a href="#the-scripts">the script's type</a></var>
+     for this <code><a href="#script0">script</a></code> element be the value
+     of that attribute.</p>
+
+    <p>Otherwise, if the element has a <code
+     title=attr-script-language>language</code> attribute, let <var><a
+     href="#the-scripts">the script's type</a></var> for this <code><a
+     href="#script0">script</a></code> element be the concatenation of the
+     string "<code title="">text/</code>" followed by the value of the <code
+     title=attr-script-language>language</code> attribute.</p>
+
    <li>
-    <p>If <a href="#scripting1">scripting is disabled</a>, or if the user
-     agent does not support the scripting language in question, or if the
+    <p>If <a href="#scripting1">scripting is disabled</a>, or if the
      <code>Document</code> has <code title=dom-document-designMode><a
-     href="#designMode">designMode</a></code> enabled, or if the <code><a
-     href="#script1">script</a></code> element has its <a
+     href="#designMode">designMode</a></code> enabled, or if the user agent
+     does not <a href="#support">support the scripting language</a> given by
+     <var><a href="#the-scripts">the script's type</a></var> for this
+     <code><a href="#script0">script</a></code> element, or if the <code><a
+     href="#script0">script</a></code> element has its <a
      href="#already">"already executed"</a> flag set, then the user agent
      must abort these steps at this point. The script is not executed.</p>
 
@@ -19096,8 +19120,7 @@
    title=dom-document-designMode><a href="#designMode">designMode</a></code>
    enabled, and the <code>Document</code> is the <a href="#active">active
    document</a> in its <a href="#browsing0">browsing context</a>, the user
-   agent must run the script according to the semantics that the relevant
-   scripting language defines.
+   agent must execute the script:
 
   <p>If the script is from an external file, then that file must be used as
    the file to execute.
@@ -19107,17 +19130,16 @@
    title=dom-script-text><a href="#text0">text</a></code> attribute (defined
    below) as the script to execute, and for XML-based scripting languages,
    user agents must use all the child nodes of the <code><a
-   href="#script1">script</a></code> element as the script to execute.
+   href="#script0">script</a></code> element as the script to execute.
 
   <p>In any case, the user agent must execute the script according to the
-   semantics of the relevant language specification, as determined by the
-   <code title=attr-script-type><a href="#type11">type</a></code> and <code
-   title=attr-script-language>language</code> attributes on the <code><a
-   href="#script1">script</a></code> element when the element was inserted
-   into the document, as described above.
+   semantics defined by the language associated with <var><a
+   href="#the-scripts">the script's type</a></var> (see the <a
+   href="#scriptingLanguages">scripting languages</a> section below).
 
-  <p>Scripts must execute in the scope of the <a href="#browsing0">browsing
-   context</a> of the element's <code>Document</code>.
+  <p>Scripts must be executed in the scope of the <a
+   href="#browsing0">browsing context</a> of the element's
+   <code>Document</code>.
 
   <p class=note>The element's attributes' values might have changed between
    when the element was inserted into the document and when the script has
@@ -19125,7 +19147,7 @@
    itself might have been taken back out of the DOM, or had other changes
    made. These changes do not in any way affect the above steps; only the
    values of the attributes at the time the <code><a
-   href="#script1">script</a></code> element is first inserted into the
+   href="#script0">script</a></code> element is first inserted into the
    document matter.
 
   <p>The DOM attributes <dfn id=src10
@@ -19140,13 +19162,19 @@
    title=dom-script-text><code>text</code></dfn> must return a concatenation
    of the contents of all the <a href="#text-node" title="text node">text
    nodes</a> that are direct children of the <code><a
-   href="#script1">script</a></code> element (ignoring any other nodes such
+   href="#script0">script</a></code> element (ignoring any other nodes such
    as comments or elements), in tree order. On setting, it must act the same
    way as the <code><a href="#textcontent">textContent</a></code> DOM
    attribute.
 
-  <h5 id=script0><span class=secno>3.17.1.1. </span>Script languages</h5>
+  <h5 id=scriptingLanguages><span class=secno>3.17.1.1. </span>Scripting
+   languages</h5>
 
+  <p>A user agent is said to <dfn id=support>support the scripting
+   language</dfn> if <var><a href="#the-scripts">the script's type</a></var>
+   matches the MIME type of a scripting language that the user agent
+   implements.
+
   <p>The following lists some MIME types and the languages to which they
    refer:
 
@@ -19240,12 +19268,12 @@
    except that the text must be such that running the following algorithm
    results in a conforming document with no <code><a
    href="#noscript">noscript</a></code> elements and no <code><a
-   href="#script1">script</a></code> elements, and such that no step in the
+   href="#script0">script</a></code> elements, and such that no step in the
    algorithm causes an <a href="#html-0">HTML parser</a> to flag a <a
    href="#parse">parse error</a>:
 
   <ol>
-   <li>Remove every <code><a href="#script1">script</a></code> element from
+   <li>Remove every <code><a href="#script0">script</a></code> element from
     the document.
 
    <li>Make a list of every <code><a href="#noscript">noscript</a></code>
@@ -26095,7 +26123,7 @@
    limited to:
 
   <ul>
-   <li>Processing of <code><a href="#script1">script</a></code> elements.
+   <li>Processing of <code><a href="#script0">script</a></code> elements.
 
    <li>Processing of inline <code title="javascript protocol"><a
     href="#the-javascript">javascript:</a></code> URIs (e.g. the <code
@@ -26133,10 +26161,10 @@
    id=origin0>origin</dfn> of the script and the API being accessed.
 
   <dl>
-   <dt>If a script is in a <code><a href="#script1">script</a></code> element
+   <dt>If a script is in a <code><a href="#script0">script</a></code> element
 
    <dd>The origin of the script is the origin of the <code>Document</code> to
-    which the <code><a href="#script1">script</a></code> element belongs.
+    which the <code><a href="#script0">script</a></code> element belongs.
 
    <dt>If a script is a function or other code reference created by another
     script
@@ -26304,7 +26332,7 @@
    context, and for Documents that have no browsing context. Do the events
    fire? Do the handlers in that document not fire? Do we just define
    scripting to be disabled when the document isn't active, with events still
-   running as is? See also the <code><a href="#script1">script</a></code>
+   running as is? See also the <code><a href="#script0">script</a></code>
    element section, which says scripts don't run when the document isn't
    active.
 
@@ -32241,7 +32269,7 @@
    <dt>CDATA elements
 
    <dd><code><a href="#style">style</a></code>, <code><a
-    href="#script1">script</a></code></dd>
+    href="#script0">script</a></code></dd>
    <!-- iframe and
    noscript don't count as CDATA for syntax purposes -->
 
@@ -32520,7 +32548,7 @@
    href="#space">space character</a> or a <a href="#comments0"
    title=syntax-comments>comment</a>, except if the first thing inside the
    <code><a href="#body0">body</a></code> element is a <code><a
-   href="#script1">script</a></code> or <code><a
+   href="#script0">script</a></code> or <code><a
    href="#style">style</a></code> element and the node immediately preceding
    the <code><a href="#body0">body</a></code> element is a <code><a
    href="#head">head</a></code> element whose end tag has been omitted.</p>
@@ -33420,7 +33448,7 @@
    href="#tree-construction0">tree construction</a> stage. The tree
    construction stage can affect the state of the <a href="#content2">content
    model flag</a>, and can insert additional characters into the stream. (For
-   example, the <code><a href="#script1">script</a></code> element can result
+   example, the <code><a href="#script0">script</a></code> element can result
    in scripts executing and using the <a href="#dynamic2">dynamic markup
    insertion</a> APIs to insert characters into the stream being tokenised.)
 
@@ -34937,7 +34965,7 @@
      <code>optgroup</code>, <code>option</code>, <code><a
      href="#p">p</a></code>, <code><a href="#param">param</a></code>,
      <code>plaintext</code>, <code><a href="#pre">pre</a></code>, <code><a
-     href="#script1">script</a></code>, <code>select</code>,
+     href="#script0">script</a></code>, <code>select</code>,
      <code>spacer</code>, <code><a href="#style">style</a></code>, <code><a
      href="#tbody">tbody</a></code>, <code>textarea</code>, <code><a
      href="#tfoot0">tfoot</a></code>, <code><a
@@ -35620,7 +35648,7 @@
 
         <p>If this process resulted in a collection of character tokens,
          append a single <code>Text</code> node to the <code><a
-         href="#script1">script</a></code> element node whose contents is the
+         href="#script0">script</a></code> element node whose contents is the
          concatenation of all those tokens' characters.</p>
 
         <p>The tokeniser's <a href="#content2">content model flag</a> will
@@ -35628,15 +35656,15 @@
 
         <p>If the next token is not an end tag token with the tag name
          "script", then this is a <a href="#parse">parse error</a>; mark the
-         <code><a href="#script1">script</a></code> element as <a
+         <code><a href="#script0">script</a></code> element as <a
          href="#already">"already executed"</a>. Otherwise, the token is the
-         <code><a href="#script1">script</a></code> element's end tag, so
+         <code><a href="#script0">script</a></code> element's end tag, so
          ignore it.</p>
 
         <p>If the parser was originally created in order to handle the
          setting of a node's <code title=dom-innerHTML-HTML><a
          href="#innerhtml0">innerHTML</a></code> attribute, then mark the
-         <code><a href="#script1">script</a></code> element as <a
+         <code><a href="#script0">script</a></code> element as <a
          href="#already">"already executed"</a>, and skip the rest of the
          processing described for this token (including the part below where
          "<a href="#the-script" title="the script that will execute as soon
@@ -35644,7 +35672,7 @@
          parser resumes</a>" are executed). (<a
          href="#innerhtml1"><code>innerHTML</code> case</a>)</p>
 
-        <p class=note>Marking the <code><a href="#script1">script</a></code>
+        <p class=note>Marking the <code><a href="#script0">script</a></code>
          element as "already executed" prevents it from executing when it is
          inserted into the document a few paragraphs below. Scripts missing
          their end tags and scripts that were inserted using <code
@@ -37716,7 +37744,7 @@
   -->,
    then the user agent must act as if those scripts just completed loading,
    following the rules given for that in the <code><a
-   href="#script1">script</a></code> element definition.
+   href="#script0">script</a></code> element definition.
 
   <p>Then, if the <a href="#list-of">list of scripts that will execute when
    the document has finished parsing</a> is not empty, and the first item in

Modified: source
===================================================================
--- source	2007-06-09 02:29:40 UTC (rev 882)
+++ source	2007-06-11 22:36:28 UTC (rev 883)
@@ -16644,10 +16644,10 @@
   <p>If the <code title="attr-script-src">src</code> attribute is not
   set, then the script is given by the contents of the element.</p>
 
-  <p>The language of the script is given by the <dfn
-  title="attr-script-type"><code>type</code></dfn> attribute. The
-  value must be a valid MIME type, optionally with parameters. <a
-  href="#refsRFC2046">[RFC2046]</a></p>
+  <p>The language of the script may be given by the <dfn
+  title="attr-script-type"><code>type</code></dfn> attribute. If the
+  attribute is present, its value must be a valid MIME type,
+  optionally with parameters. <a href="#refsRFC2046">[RFC2046]</a></p>
 
   <p>The <dfn title="attr-script-defer"><code>defer</code></dfn> and
   <dfn title="attr-script-async"><code>async</code></dfn> attributes
@@ -16678,7 +16678,7 @@
   described below (namely, when the element is inserted into the
   document).</p>
 
-  <p><code>script</code> elements have two associated pieces of
+  <p><code>script</code> elements have three associated pieces of
   metadata. The first is a flag indicating whether or not the script
   block has been <dfn>"already executed"</dfn>. Initially,
   <code>script</code> elements must have this flag unset (script
@@ -16688,7 +16688,10 @@
   second is a flag indicating whether the element was
   <dfn>"parser-inserted"</dfn>. This flag is set by the <span>HTML
   parser</span> and is used to handle <code
-  title="dom-document-write-HTML">document.write()</code> calls.</p>
+  title="dom-document-write-HTML">document.write()</code> calls. The
+  third piece of metadata is <dfn><var>the script's
+  type</var></dfn>. It is determined when the script is run, based on
+  the attributes on the element at that time.</p>
 
   <p><dfn title="running a script">Running a script</dfn>: when a
   script block is <span>inserted into a document</span>, the user
@@ -16698,22 +16701,40 @@
 
    <li>
 
-    <p class="big-issue">How to handle the <code
-    title="attr-script-type">type</code> and <code
-    title="attr-script-language">language</code> attributes should be
-    defined here, probably with reference to the next section.</p>
+    <p>If the <code>script</code> element has a <code
+    title="attr-script-type">type</code> attribute but its value is
+    the empty string, or if the <code>script</code> element has no
+    <code title="attr-script-type">type</code> attribute but it has a
+    <code title="attr-script-language">language</code> attribute, and
+    <em>that</em> attribute's value is the empty string, let <var>the
+    script's type</var> for this <code>script</code> element be "<code
+    title="">text/javascript</code>".</p>
 
+    <p>Otherwise, if the <code>script</code> element has a <code
+    title="attr-script-type">type</code> attribute, let <var>the
+    script's type</var> for this <code>script</code> element be the
+    value of that attribute.</p>
+
+    <p>Otherwise, if the element has a <code
+    title="attr-script-language">language</code> attribute, let
+    <var>the script's type</var> for this <code>script</code> element
+    be the concatenation of the string "<code title="">text/</code>"
+    followed by the value of the <code
+    title="attr-script-language">language</code> attribute.</p>
+
    </li>
 
    <li>
 
-    <p>If <span>scripting is disabled</span>, or if the user agent
-    does not support the scripting language in question, or if the
+    <p>If <span>scripting is disabled</span>, or if the
     <code>Document</code> has <code
     title="dom-document-designMode">designMode</code> enabled, or if
-    the <code>script</code> element has its <span>"already
-    executed"</span> flag set, then the user agent must abort these
-    steps at this point. The script is not executed.</p>
+    the user agent does not <span>support the scripting
+    language</span> given by <var>the script's type</var> for
+    this <code>script</code> element, or if the <code>script</code>
+    element has its <span>"already executed"</span> flag set, then the
+    user agent must abort these steps at this point. The script is not
+    executed.</p>
 
    </li>
 
@@ -16973,9 +16994,8 @@
   <code>Document</code> does not have <code
   title="dom-document-designMode">designMode</code> enabled, and the
   <code>Document</code> is the <span>active document</span> in its
-  <span>browsing context</span>, the user agent must run the script
-  according to the semantics that the relevant scripting language
-  defines.</p>
+  <span>browsing context</span>, the user agent must execute the
+  script:</p>
 
   <p>If the script is from an external file, then that file must be
   used as the file to execute.</p>
@@ -16988,13 +17008,11 @@
   element as the script to execute.</p>
 
   <p>In any case, the user agent must execute the script according to
-  the semantics of the relevant language specification, as determined
-  by the <code title="attr-script-type">type</code> and <code
-  title="attr-script-language">language</code> attributes on the
-  <code>script</code> element when the element was inserted into the
-  document, as described above.</p>
+  the semantics defined by the language associated with <var>the
+  script's type</var> (see the <a href="#scriptingLanguages">scripting
+  languages</a> section below).</p>
 
-  <p>Scripts must execute in the scope of the <span>browsing
+  <p>Scripts must be executed in the scope of the <span>browsing
   context</span> of the element's <code>Document</code>.</p>
 
   <p class="note">The element's attributes' values might have changed
@@ -17023,8 +17041,12 @@
   same way as the <code>textContent</code> DOM attribute.</p>
 
 
-  <h5>Script languages</h5>
+  <h5 id="scriptingLanguages">Scripting languages</h5>
 
+  <p>A user agent is said to <dfn>support the scripting language</dfn>
+  if <var>the script's type</var> matches the MIME type of a scripting
+  language that the user agent implements.</p>
+
   <p>The following lists some MIME types and the languages to which
   they refer:</p>
 




More information about the Commit-Watchers mailing list