index.html
author travil
Fri, 21 Mar 2014 17:46:08 -0700
changeset 38 fb9edcfb8f5f
parent 37 c80b719c8211
child 39 1860a8d798cf
permissions -rw-r--r--
Rewrite of the Element serializing XML serializer algorithm. Should be much closer
to reality now:
* supports namespace mapping and prefix collisions forcing element prefix generation.
* TODO: Need to update the attribute serialization algorithm to make use of the new
prefix map.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     1
<!doctype html>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     2
<html>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     3
<head>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     4
    <meta charset=UTF-8>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     5
    <title>DOM Parsing and Serialization</title>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     6
    <style>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     7
        /* Make these stand-out more... */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     8
        .externalDFN {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
     9
            font-style: italic;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    10
            background-color: #fff9d6;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    11
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    12
        /* Switch statement */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    13
        dl.switch dt::before {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    14
            content: "↪ ";
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    15
            margin-left: 1em;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    16
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    17
        /* Better spacing around various lists (implied paragraph children) */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    18
        ol > li, section:not(#toc) ul > li, section dl > dt {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    19
            margin: 1em 0;
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
    20
        }
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
    21
        var { color: maroon; }
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    22
        /* domintro styling */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    23
        dl.domintro {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    24
            background-color: rgb(221, 255, 221);
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    25
            padding: 1em 0.5em 1em 2em;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    26
            clear: both;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    27
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    28
        dl.domintro dt {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    29
            color: black;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    30
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    31
        dl.domintro > dd {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    32
            color: green;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    33
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    34
        dl.domintro::before {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    35
            float: right;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    36
            background-color: white;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    37
            display: block;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    38
            border: 2px solid black;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    39
            color: green;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    40
            margin-top: -20px;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    41
            padding: 2px;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    42
            content: "This box is non-normative. Implementation requirements are given below this box.";
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    43
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    44
        /* Fancy table stuff */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    45
        table {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    46
            border-collapse: collapse;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    47
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    48
        thead tr {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    49
            border-bottom: 2px solid black;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    50
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    51
        tbody tr:not(:last-child) {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    52
            border-bottom: 1px solid black;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    53
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    54
        td {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    55
            border-left: 1px solid black;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    56
            padding: 4px;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    57
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    58
        /* Extra IDL :-) */
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    59
        .extraidl {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    60
            line-height: 120%;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    61
            padding: 1em;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    62
            border-top: 1px solid #90b8de;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    63
            border-bottom: 1px solid #90b8de;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    64
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    65
        .extraidl:before {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    66
            width: 150px;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    67
            color: #fff;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    68
            padding: 3px;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    69
            font-weight: bold;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    70
            font-family: initial;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    71
            margin: -1em 0 1em -1em;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    72
            display: block;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    73
            content: "WebIDL";
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    74
            background-color: rgb(144, 184, 222);
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    75
        }
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    76
    </style>
8
7bddbad3c43e Update http -> https
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 6
diff changeset
    77
    <script type="text/javascript" src='https://www.w3.org/Tools/respec/respec-w3c-common' class='remove' async></script>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    78
    <script type="text/javascript" src="respecConfig.js" class='remove'></script>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    79
</head>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    80
<body>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    81
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    82
    <section id="abstract">
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    83
       <p>This specification defines various APIs for programmatic access to 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    84
          HTML and generic XML parsers by web applications for use in parsing 
24
42973d9748d9 Attempt to address: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18938
travil
parents: 23
diff changeset
    85
          and serializing DOM nodes.</p>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    86
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    87
24
42973d9748d9 Attempt to address: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18938
travil
parents: 23
diff changeset
    88
    <section id="sotd">
42973d9748d9 Attempt to address: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18938
travil
parents: 23
diff changeset
    89
        <p>This specification is based on the original work of the <a href="http://domparsing.spec.whatwg.org/">
31
979528721c40 Sync up the editor's draft with the last published format (post publication-process changes)
travil
parents: 24
diff changeset
    90
            DOM Parsing and Serialization</a> Living Specification, though it has diverged in terms of 
24
42973d9748d9 Attempt to address: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18938
travil
parents: 23
diff changeset
    91
            supported features, normative requirements, and algorithm specificity. As appropriate, 
31
979528721c40 Sync up the editor's draft with the last published format (post publication-process changes)
travil
parents: 24
diff changeset
    92
            relevant fixes from the living specification are incorporated into this document. 
24
42973d9748d9 Attempt to address: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18938
travil
parents: 23
diff changeset
    93
    </section>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    94
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    95
3
881b6e205d22 PubRules fixup
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 1
diff changeset
    96
    <section id="issues" class="introductory">
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    97
        <h1>Issues</h1>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
    98
        
13
49bc54f5937f First issue removed, and issues section clarified.
travil
parents: 12
diff changeset
    99
        <p class=issue>Open issues that appear throughout the remainder of this 
49bc54f5937f First issue removed, and issues section clarified.
travil
parents: 12
diff changeset
   100
        document will be highlighted like this.</p>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   101
        
13
49bc54f5937f First issue removed, and issues section clarified.
travil
parents: 12
diff changeset
   102
        <!-- I don't believe this is a point of contention anymore...
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   103
        <p class="issue">This specification currently requires using the XML 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   104
        Parser for some APIs, when in an XML document. It is unclear whether 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   105
        consensus can be found for this approach.</p>
13
49bc54f5937f First issue removed, and issues section clarified.
travil
parents: 12
diff changeset
   106
        -->
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   107
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   108
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   109
    <section id="conformance">
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   110
        <p>Requirements phrased in the imperative as part of algorithms
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   111
        (such as "strip any leading space characters" or "return false and
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   112
        terminate these steps") are to be interpreted with the meaning of the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   113
        key word ("must", "should", "may", etc) used in introducing the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   114
        algorithm.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   115
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   116
        <p>Conformance requirements phrased as algorithms or specific steps
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   117
        may be implemented in any manner, so long as the end result is
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   118
        equivalent. (In particular, the algorithms defined in this
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   119
        specification are intended to be easy to follow, and not intended to
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   120
        be performant.)</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   121
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   122
        <p id="hardwareLimitations">User agents may impose
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   123
        implementation-specific limits on otherwise unconstrained inputs,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   124
        e.g. to prevent denial of service attacks, to guard against running
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   125
        out of memory, or to work around platform-specific limitations.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   126
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   127
        <p>When a method or an attribute is said to call another method or 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   128
        attribute, the user agent must invoke its internal API for that 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   129
        attribute or method so that e.g. the author can't change the behavior 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   130
        by overriding attributes or methods with custom properties or functions 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   131
        in ECMAScript.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   132
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   133
        <p>Unless otherwise stated, string comparisons are done in a <a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   134
        data-spec="DOM4" class="externalDFN" title="case-sensitive">
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   135
        case-sensitive</a> manner.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   136
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   137
        <p>If an algorithm calls into another algorithm, any exception that is 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   138
        thrown by the latter (unless it is explicitly caught), must cause the 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   139
        former to terminate, and the exception to be propagated up to 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   140
        <em>its</em> caller.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   141
    
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   142
        <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   143
            <h2>Dependencies</h2>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   144
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   145
            <p>The IDL fragments in this specification must be interpreted as
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   146
            required for conforming IDL fragments, as described in the Web IDL
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   147
            specification. [[!WEBIDL]]</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   148
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   149
            <p>Some of the terms used in this specification are defined in
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   150
            [[DOM4]], [[HTML5]], and [[XML10]].
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   151
        </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   152
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   153
        <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   154
            <h2>Extensibility</h2>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   155
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   156
            <p>Vendor-specific proprietary extensions to this specification are
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   157
            strongly discouraged. Authors must not use such extensions, as
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   158
            doing so reduces interoperability and fragments the user base,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   159
            allowing only users of specific user agents to access the content in
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   160
            question.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   161
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   162
            <p>If vendor-specific extensions are needed, the members should be
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   163
            prefixed by vendor-specific strings to prevent clashes with future
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   164
            versions of this specification. Extensions must be defined so that
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   165
            the use of extensions neither contradicts nor causes the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   166
            non-conformance of functionality defined in the specification.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   167
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   168
            <p>When vendor-neutral extensions to this specification are needed,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   169
            either this specification can be updated accordingly, or an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   170
            extension specification can be written that overrides the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   171
            requirements in this specification. When someone applying this
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   172
            specification to their activities decides that they will recognise
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   173
            the requirements of such an extension specification, it becomes an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   174
            <dfn title="other applicable specifications">applicable
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   175
            specification</dfn> for the purposes of conformance requirements in
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   176
            this specification.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   177
            <!-- http://www.w3.org/mid/17E341CD-E790-422C-9F9A-69347EE01CEB@iki.fi -->
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   178
        </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   179
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   180
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   181
    <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   182
        <h2>Terminology</h2>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   183
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   184
        <p>The term <dfn>context object</dfn> means the object on which the method or
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   185
        attribute being discussed was called.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   186
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   187
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   188
    <section>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   189
        <h2>Namespaces</h2>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   190
        
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   191
        <p>The <dfn title="html-ns">HTML namespace</dfn> is <code>http://www.w3.org/1999/xhtml</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   192
        <p>The <dfn title="xml-ns">XML namespace</dfn> is <code>http://www.w3.org/XML/1998/namespace</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   193
        <p>The <dfn title="xmlns-ns">XMLNS namespace</dfn> is <code>http://www.w3.org/2000/xmlns/</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   194
    </section>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   195
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   196
    <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   197
        <h1>Parsing and serializing <a title="node" data-spec="DOM4" class="externalDFN">Node</a>s</h1>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   198
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   199
        <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   200
            <h2>Parsing</h2>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   201
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   202
            <p>The following steps form the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   203
            <dfn title="concept-parse-fragment">fragment parsing algorithm</dfn>, whose
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   204
            arguments are a <var>markup</var> string and a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   205
            <var>context element</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   206
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   207
            <ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   208
              <li>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   209
                <p>If the <var>context element</var>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   210
                <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   211
                is an <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>: let
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   212
                <var>algorithm</var> be the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   213
                <a title="html-fragment-parsing-algorithm" data-spec="HTML5" class="externalDFN">HTML 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   214
                fragment parsing algorithm</a>.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   215
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   216
                <p>If the <var>context element</var>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   217
                <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   218
                is an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>: let
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   219
                <var>algorithm</var> be the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   220
                <a title="xml-fragment-parsing-algorithm" data-spec="HTML5" class="externalDFN">XML 
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   221
                fragment parsing algorithm</a>.</p>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   222
              </li>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   223
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   224
              <li>Invoke <var>algorithm</var> with <var>markup</var> as
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   225
              the <var>input</var>, and <var>context element</var> as the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   226
              <var><a data-spec="HTML5" title="concept-frag-parse-context" class="externalDFN">context</a></var>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   227
              element.</li>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   228
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   229
              <li>Let <var>new children</var> be the nodes returned.</li>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   230
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   231
              <li>Let <var>fragment</var> be a new
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   232
              <code><a title="documentfragment" data-spec="DOM4" class="externalDFN">DocumentFragment</a></code> whose
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   233
              <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   234
              is <var>context element</var>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   235
              <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   236
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   237
              <li><a data-spec="DOM4" title="concept-node-append" class="externalDFN">Append</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   238
              each <a data-spec="DOM4" title="concept-node" class="externalDFN">node</a> in
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   239
              <var>new children</var> to <var>fragment</var> (in order).
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   240
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   241
              <p class=note>This ensures the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   242
              <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   243
              for the new <a data-spec="DOM4" title="concept-node" class="externalDFN">nodes</a> is correct.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   244
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   245
              <li>Return <var>fragment</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   246
            </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   247
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   248
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   249
    <section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   250
        <h2>Serializing</h2>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   251
        <p>To <dfn title="concept-serialize">serialize</dfn> a
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   252
        <a title="node" data-spec="DOM4" class="externalDFN">Node</a> <var>node</var>, the user agent
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   253
        must run the following steps:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   254
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   255
        <ol>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   256
            <li>Let <var>document</var> be <var>node</var>'s
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   257
                <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   258
            <li>If <var>document</var> is an
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   259
                <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>, 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   260
                return an <a title="concept-serialize-html">HTML serialization</a> of <var>node</var>.
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   261
            <li>Otherwise, <var>document</var> is an
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   262
                <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>.
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   263
            <li>Let <dfn title="concept-context-namespace">context namespace</dfn> be <code>null</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   264
            <li>Let <dfn title="concept-namespace-prefix-map">namespace prefix map</dfn> be a new map 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   265
                for associating <code>namespaceURI</code> and namespace <code>prefix</code> pairs, where 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   266
                <code>namespaceURI</code> values are the map's keys, and <code>prefix</code> values are 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   267
                the map's key values. The <a title="concept-namespace-prefix-map">namespace prefix map</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   268
                will contain the history of assigned namespace prefixes [[XML-NAMES]] that have been 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   269
                serialized by the <a title="concept-serialize-xml">XML serialization</a> algorithm for a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   270
                subtree. <span class="note"><strong>Note:</strong> the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   271
                <a title="concept-namespace-prefix-map">namespace prefix map</a> only associates a single
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   272
                prefix value with a given namespaceURI. During serialization, where multiple prefixes are 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   273
                found to map to the same namespaceURI, the last one encountered "wins" by replacing the
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   274
                existing key value in the map with the new prefix value.</span>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   275
            <li>Initialize the <a title="concept-namespace-prefix-map">namespace prefix map</a> with a key
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   276
                whose string value is the <a title="xml-ns">XML namespace</a> and string <code>"xml"</code> as the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   277
                key value.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   278
            <li>Let <dfn title="concept-generated-prefix">generated namespace prefix index</dfn> be an integer
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   279
                with a value of <code>1</code>. The <a title="concept-generated-prefix">generated namespace
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   280
                prefix index</a> is used when an attribute not in the <code>null</code> namespace lacks
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   281
                a suitable <a title="dom-attribute-prefix" data-spec="DOM4" class="externalDFN">prefix</a> to 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   282
                represent it. The <a title="concept-generated-prefix">generated namespace prefix index</a> is
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   283
                appended to the string <code>"ns"</code> in these cases and added to the the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   284
                <a title="concept-namespace-prefix-map">namespace prefix map</a>.
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   285
            <li>Return an <a title="concept-serialize-xml">XML serialization</a> of <var>node</var>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   286
                providing to the algorithm <a title="concept-context-namespace">context namespace</a> 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   287
                as the <var>namespace</var>, <a title="concept-namespace-prefix-map">namespace prefix map</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   288
                as <var>prefixes</var>, and <a title="concept-generated-prefix">generated namespace prefix index</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   289
                as <var>prefix index</var>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   290
        </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   291
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   292
        <p>To produce an <dfn title="concept-serialize-html">HTML serialization</dfn> of a
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   293
        <a title="node" data-spec="DOM4" class="externalDFN">Node</a> <var>node</var>, the user agent
19
1ec229b6723a Since all node types are now handled in the HTML fragment serialization algorithm,
travil
parents: 18
diff changeset
   294
        must run the
1ec229b6723a Since all node types are now handled in the HTML fragment serialization algorithm,
travil
parents: 18
diff changeset
   295
        <a data-spec="HTML5" title="html-fragment-serialization-algorithm" class="externalDFN">HTML 
1ec229b6723a Since all node types are now handled in the HTML fragment serialization algorithm,
travil
parents: 18
diff changeset
   296
        fragment serialization algorithm</a> [[!HTML5]] on <var>node</var> and return the string produced.
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   297
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   298
        <p>An <a title="concept-serialize-xml">XML serialization</a> differs from an 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   299
            <a title="concept-serialize-html">HTML serialization</a> in the following ways:
35
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   300
        <ul>
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   301
            <li><a title="element" data-spec="DOM4" class="externalDFN">Element</a>s will always be
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   302
                serialized with an explicitly defined namespace.
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   303
            <li><a title="concept-attribute" data-spec="DOM4" class="externalDFN">Attribute</a>s with
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   304
                non-null
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   305
                <a title="dom-attr-namespaceuri" data-spec="DOM4" class="externalDFN">namespaceURI</a>s
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   306
                other than those in the <a title="xml-ns">XML</a> or <a title="xmlns-ns">XMLNS</a> 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   307
                namespaces are explicitly serialized with their namespaces defined. (An 
35
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   308
                <a title="concept-serialize-html">HTML serialization</a> will drop these namespaces.)
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   309
            <li><a title="element" data-spec="DOM4" class="externalDFN">Element</a>s not in the
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   310
                <a title="html-ns">HTML namespace</a> containing no children, are serialized using 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   311
                the self-closing tag syntax (<var>EmptyElemTag</var> production [[XML10]]).
35
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   312
        </ul>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   313
        
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   314
        <p>Otherwise, the <a title="concept-serialize-xml">algorithm for serializing a node
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   315
            belonging to an XML document</a> is designed to produce a serialization that is compatible 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   316
            with the <a title="html-parser" data-spec="HTML5" class="externalDFN">HTML parser</a>. For 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   317
            example, elements in the <a title="html-ns">HTML namespace</a> that contain no child nodes 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   318
            are serialized with an explicit begin and end tag rather than using the self-closing tag 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   319
            syntax [[XML10]].
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   320
        
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   321
        <p class="note">An <a title="concept-serialize-xml">XML serialization</a> may not always 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   322
            produce a well-formed [[XML10]] serialization. Notably, some DOM attribute operations 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   323
            (such as <a title="dom-element-setattribute" data-spec="DOM4" class="externalDFN">setAttribute</a>)
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   324
            do not enforce XML validity constraints, such as disallowing use of attribute names that
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   325
            resemble XMLNS namespace declarations or namespace prefix definitions. The 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   326
            <a title="concept-serialize-xml">XML serialization</a> algorithm defined in this document
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   327
            does not escape, encode, or fail to serialize such attribute names.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   328
        
35
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   329
        <p>To produce an <dfn title="concept-serialize-xml">XML serialization</dfn> of a
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   330
            <a title="node" data-spec="DOM4" class="externalDFN">Node</a> <var>node</var> given a
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   331
            <a title="concept-context-namespace">context namespace</a> <var>namespace</var>, a
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   332
            <a title="concept-namespace-prefix-map">namespace prefix map</a> <var>prefixes</var> and
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   333
            a <a title="concept-generated-prefix">generated namespace prefix index</a> 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   334
            <var>prefix index</var>, the user agent must run the appropriate steps, depending on 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   335
            <var>node</var>'s interface:</p>
35
c4fc4f1467ab Add note about the primary differences between and HTML and XML serialization
tleithea
parents: 34
diff changeset
   336
                
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   337
        <dl class=switch>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   338
            <dt><code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   339
            <dd>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   340
                <p>Run the following algorithm:
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   341
                <ol>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   342
                    <!-- "namespace" was passed via the caller -->
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   343
                    <!-- "prefixes" was passed via the caller -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   344
                    <!-- "prefix index" was passed via the caller -->
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   345
                    <li>Let <var>markup</var> be an empty string.
36
393c42a44e7f Fix Bug 25062, and some cleanup of the Element serialization algorithm
travil@microsoft.com
parents: 35
diff changeset
   346
                    <li>Let <var>qualified name</var> be an empty string.
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   347
                    <li>Let <var>generated attribute</var> be an empty string.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   348
                    <li>Let <var>default namespace found</var> be <code>false</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   349
                    <li>Let <var>map</var> be a copy of the <var>prefixes</var> <a title="concept-namespace-prefix-map">namespace prefix map</a>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   350
                    <li>Let <var>element prefixes list</var> be an empty list. <span class="note">This list is 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   351
                        local to each element. Its purpose is to ensure that there are no conflicting prefixes 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   352
                        should a new namespace prefix attribute need to be generated.</span>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   353
                    <li><a title="concept-find-defined-prefixes">Find the defined namespace prefixes</a> for 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   354
                        <var>node</var> given <var>map</var>, <var>element prefixes list</var>, and the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   355
                        <var>default namespace found</var> flag.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   356
                    <p class="note">This above step will update the <var>map</var> with any found namespace prefix 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   357
                        definitions, add the found prefix definitions to the <var>element prefixes list</var>, and set 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   358
                        the <var>default namespace found</var> flag to <code>true</code> if a default namespace declaration 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   359
                        is found.</p>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   360
                    <li>Let <var>prefix</var> be the value of <var>node</var>'s 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   361
                        <code><a title="dom-element-prefix" data-spec="DOM4" class="externalDFN">prefix</a></code>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   362
                        attribute.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   363
                    <li>Let <var>ns</var> be the value of <var>node</var>'s 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   364
                        <code><a title="dom-element-namespaceuri" data-spec="DOM4" class="externalDFN">namespaceURI</a></code>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   365
                        attribute.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   366
                    <li>Let a <var>skip end tag</var> flag have the value <code>false</code>.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   367
                    <li>Append "<code>&lt;</code>" (U+003C LESS-THAN SIGN) to <var>markup</var>.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   368
                    <li>If <var>namespace</var> is not equal to <var>ns</var> (the <var>node</var>'s
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   369
                        own namespace is different from its parent), <!-- Then signal this in the serialization by way of either 1) a namespace prefix if one is available (this is shorter) or 2) a default namespace otherwise) -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   370
                        then run these sub-steps:
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   371
                    <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   372
                        <li>Let <var>candidate prefix</var> be a value from <var>map</var> where there exists a key in 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   373
                            <var>map</var> that matches the value of <var>ns</var> or if there is no such key, then 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   374
                            <code>null</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   375
                        <li>If <var>candidate prefix</var> is not <code>null</code>, then let <var>qualified name</var>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   376
                            be the concatenation of <var>candidate prefix</var>, "<code>:</code>" (U+003A COLON), and
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   377
                            <code><a title="dom-element-localname" data-spec="DOM4" class="externalDFN">localName</a></code>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   378
                            and stop running these sub-steps.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   379
                        <!-- Didn't find an existing (or locally defined) mapping for node's namespace -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   380
                        <!-- Try to use the existing prefix? -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   381
                        <li>If <var>prefix</var> is not <code>null</code> and the <var>element prefixes list</var> does 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   382
                            not contain the value of <var>prefix</var>, then let <var>qualified name</var> be the concatenation
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   383
                            of <var>prefix</var>, "<code>:</code>" (U+003A COLON), and 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   384
                            <code><a title="dom-element-localname" data-spec="DOM4" class="externalDFN">localName</a></code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   385
                            Also, let <var>generated attribute</var> be the concatenation of:
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   386
                        <ol>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   387
                            <li>the string "<code>xmlns:</code>";
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   388
                            <li>the value of <var>prefix</var>;
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   389
                            <li>"<code>="</code>" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK);
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   390
                            <li>The value of <var>ns</var>;
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   391
                            <li>"<code>"</code>" (U+0022 QUOTATION MARK);
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   392
                        </ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   393
                        <li>If <var>prefix</var> is not <code>null</code> and the <var>element prefixes list</var>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   394
                            contains the value of <var>prefix</var>, then: <!-- The element's prefix is used locally to define a different namespace! The node's prefix can't be used to generate a duplicate attribute name, so... -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   395
                        <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   396
                            <li>Let <var>generated prefix</var> be the result of 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   397
                                <a title="concept-generate-prefix">generating a prefix</a> providing as input the
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   398
                                <a title="concept-namespace-prefix-map">namespace prefix map</a> <var>map</var>, 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   399
                                <var>node</var>'s <var>ns</var> string, and the <var>prefix index</var> integer.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   400
                            <li>Let <var>qualified name</var> be the concatenation of <var>generated prefix</var>, 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   401
                                "<code>:</code>" (U+003A COLON), and 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   402
                                <code><a title="dom-element-localname" data-spec="DOM4" class="externalDFN">localName</a></code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   403
                            <li>Let <var>generated attribute</var> be the concatenation of:
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   404
                            <ol>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   405
                                <li>the string "<code>xmlns:</code>";
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   406
                                <li>the value of <var>generated prefix</var>;
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   407
                                <li>"<code>="</code>" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   408
                                <li>The value of <var>ns</var>;
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   409
                                <li>"<code>"</code>" (U+0022 QUOTATION MARK);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   410
                            </ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   411
                        </ol>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   412
                        <!-- prefix is null -- generate a default namespace -->
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   413
                        <li>If prefix is <code>null</code> then let <var>qualified name</var> be <var>node</var>'s
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   414
                            <code><a title="dom-element-localname" data-spec="DOM4" class="externalDFN">localName</a></code>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   415
                            and let <var>generated attribute</var> be the concatenation of:
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   416
                        <ol>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   417
                            <li>the string "<code>xmlns</code>";
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   418
                            <li>"<code>="</code>" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK);
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   419
                            <li>The value of <var>ns</var>;
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   420
                            <li>"<code>"</code>" (U+0022 QUOTATION MARK);
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   421
                        </ol>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   422
                    </ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   423
                    <li>Append the value of <var>qualified name</var> to <var>markup</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   424
                    <li>Append a "<code> </code>" (U+0020 SPACE) to <var>markup</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   425
                    <li>Append the value of <var>generated attribute</var> to <var>markup</var>.
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   426
                    <li>Append to <var>markup</var> the result of the 
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   427
                        <a title="concept-serialize-xml-attributes">XML serialization of <var>node</var>'s 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   428
                        attributes</a> given a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   429
                        <a title="concept-namespace-prefix-map">namespace prefix map</a> <var>map</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   430
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   431
                    <li>If <var>ns</var> is the <a title="html-ns">HTML namespace</a>,
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   432
                        and the <var>node</var>'s list of 
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   433
                        <a title="concept-tree-child" data-spec="DOM4" class="externalDFN">children</a>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   434
                        is empty, and the <var>node</var>'s
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   435
                        <code><a title="dom-element-localname" data-spec="DOM4" class="externalDFN">localName</a></code>
20
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   436
                        matches any one of the following 
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   437
                        <a title="void-elements" data-spec="HTML5" class="externalDFN">void elements</a>:
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   438
                        "<code>area</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   439
                        "<code>base</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   440
                        "<code>br</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   441
                        "<code>col</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   442
                        "<code>embed</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   443
                        "<code>hr</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   444
                        "<code>img</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   445
                        "<code>input</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   446
                        "<code>keygen</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   447
                        "<code>link</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   448
                        "<code>menuitem</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   449
                        "<code>meta</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   450
                        "<code>param</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   451
                        "<code>source</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   452
                        "<code>track</code>",
a00491801887 Fixed list of void elements and link to HTML5.
travil
parents: 19
diff changeset
   453
                        "<code>wbr</code>";
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   454
                        then append the following to <var>markup</var>, in order:
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   455
                        <ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   456
                            <li>"<code> </code>" (U+0020 SPACE);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   457
                            <li>"<code>/</code>" (U+002F SOLIDUS);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   458
                        </ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   459
                        and set the <var>skip end tag</var> flag to <code>true</code>.
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   460
                    <li>If <var>ns</var> is not the <a title="html-ns">HTML namespace</a>,
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   461
                        and the <var>node</var>'s list of 
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   462
                        <a title="concept-tree-child" data-spec="DOM4" class="externalDFN">children</a>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   463
                        is empty, then append "<code>/</code>" (U+002F SOLIDUS) to <var>markup</var>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   464
                        and set the <var>skip end tag</var> flag to <code>true</code>.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   465
                    <li>Append "<code>&gt;</code>" (U+003E GREATER-THAN SIGN) to <var>markup</var>.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   466
                    <li>If the value of <var>skip end tag</var> is <code>true</code>, then return 
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   467
                        the value of <var>markup</var> and skip the remaining steps. The 
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   468
                        <var>node</var> is a leaf-node.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   469
                    <li>Append to <var>markup</var> the result of performing an 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   470
                        <a title="concept-serialize-xml">XML serialization</a> of each of 
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   471
                        <var>node</var>'s
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   472
                        <a title="concept-tree-child" data-spec="DOM4" class="externalDFN">children</a>,
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   473
                        in order, providing the value of <var>ns</var> for the <var>namespace</var> string,
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   474
                        <var>map</var> for the <a title="concept-namespace-prefix-map">namespace prefix map</a>,
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   475
                        and <var>prefix index</var> for the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   476
                        <a title="concept-generated-prefix">generated namespace prefix index</a>.
36
393c42a44e7f Fix Bug 25062, and some cleanup of the Element serialization algorithm
travil@microsoft.com
parents: 35
diff changeset
   477
                    <li>Append the following to <var>markup</var>, in order:
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   478
                        <ol>
37
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   479
                            <li>"<code>&lt;/</code>" (U+003C LESS-THAN SIGN, U+002F SOLIDUS);
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   480
                            <li>The value of <var>qualified name</var>;
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   481
                            <li>"<code>&gt;</code>" (U+003E GREATER-THAN SIGN).
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   482
                        </ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   483
                    <li>Return the value of <var>markup</var>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   484
                </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   485
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   486
            <dt><code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   487
            <dd>
21
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   488
                <p>Return the result of concatenating the following, in order:
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   489
                <ol>
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   490
                    <li>The string produced by running the steps to 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   491
                        <a title="concept-serialize-doctype">produce a DocumentType serialization</a>
21
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   492
                        of <var>node</var>'s 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   493
                        <a title="dom-document-doctype" data-spec="HTML5" class="externalDFN">doctype</a>
21
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   494
                        attribute;
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   495
                    <li>The string produced by an <a title="concept-serialize-xml">XML serialization</a>
21
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   496
                        of <var>node</var>'s 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   497
                        <a title="dom-document-documentelement" data-spec="HTML5" class="externalDFN">documentElement</a>
21
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   498
                        attribute, providing <code>null</code> as the <var>namespace</var> and an 
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   499
                        empty list as <var>prefixes</var>. 
75b83ca5f00c Fix Document XML serialization.
travil
parents: 20
diff changeset
   500
                </ol>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   501
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   502
            <dt><code><a title="comment" data-spec="DOM4" class="externalDFN">Comment</a></code>
32
f4430fb3b150 Sync-up to the Living Specification's changes:
travil
parents: 31
diff changeset
   503
            <dd>
f4430fb3b150 Sync-up to the Living Specification's changes:
travil
parents: 31
diff changeset
   504
                <p>Return the concatenation of "<code>&lt;!--</code>", <var>node</var>'s
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   505
                <code><a title="dom-characterdata-data" data-spec="DOM4" class="externalDFN">data</a></code>, and
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   506
                "<code>--></code>".
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   507
14
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   508
            <dt><code><a title="cdata" data-spec="DOML2" class="externalDFN">CDATASection</a></code>
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   509
            <dd><ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   510
                <li>Let <var>markup</var> be the concatenation of "<code>&lt;![CDATA[</code>", 
14
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   511
                <var>node</var>'s
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   512
                <code><a title="dom-characterdata-data" data-spec="DOM4" class="externalDFN">data</a></code>, 
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   513
                and "<code>]]></code>".
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   514
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   515
                <!-- This does not actually appear to be the case in implementations today.
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   516
                <p>If <var>data</var> doesn't match the
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   517
                  <code><a title="NT-CData" data-spec="XML10" class="externalDFN">CDSect</a></code> production, throw a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   518
                  <code><a title="domexception" data-spec="DOM4" class="externalDFN">DOMException</a></code>
14
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   519
                  with name <code>InvalidStateError</code> and terminate the entire algorithm.
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   520
                -->
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   521
                
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   522
                <li>Return <var>markup</var>.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   523
              </ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   524
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   525
              <p class=note>CDATASection objects may be created by the historical 
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   526
            <code>document.createCDATASection</code> API, or as a result of parsing an
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   527
            <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>.
14
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   528
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   529
            <dt><code><a title="text" data-spec="DOM4" class="externalDFN">Text</a></code>
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   530
            <dd><ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   531
                <li>Let <var>markup</var> be <var>node</var>'s
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   532
                <code><a title="dom-characterdata-data" data-spec="DOM4" class="externalDFN">data</a></code>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   533
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   534
                <li>Replace any occurrences of "<code>&amp;</code>" in <var>markup</var> by
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   535
                "<code>&amp;amp;</code>".
14
edebbe3facb6 Add support for CDATA serializations in DOM (for XML and programmatic creation).
travil
parents: 13
diff changeset
   536
                
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   537
                <li>Replace any occurrences of "<code>&lt;</code>" in <var>markup</var> by
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   538
                "<code>&amp;lt;</code>".
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   539
                
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   540
                <li>Replace any occurrences of "<code>&gt;</code>" in <var>markup</var> by
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   541
                "<code>&amp;gt;</code>".
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   542
                
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   543
                <li>Return <var>data</var>.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   544
              </ol>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   545
            <dt><code><a title="documentfragment" data-spec="DOM4" class="externalDFN">DocumentFragment</a></code>
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   546
            <dd><ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   547
                <li>Let <var>markup</var> the empty string.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   548
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   549
                <li>For each
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   550
                <a title="concept-tree-child" data-spec="DOM4" class="externalDFN">child</a> of
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   551
                <var>node</var>, in order,
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   552
                <a title="concept-serialize-xml">produce an XML serialization</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   553
                of the child and concatenate the result to <var>markup</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   554
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   555
                <li>Return <var>markup</var>.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   556
              </ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   557
            <dt><code><a title="documenttype" data-spec="DOM4" class="externalDFN">DocumentType</a></code>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   558
            <dd>Run the steps to <a title="concept-serialize-doctype">produce a DocumentType 
16
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   559
                serialization</a> of <var>node</var>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   560
                and return the string this produced.           
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   561
            
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   562
            <dt><code><a title="processinginstruction" data-spec="DOM4" class="externalDFN">ProcessingInstruction</a></code>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   563
            <dd><ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   564
                <li>Let <var>markup</var> be the concatenation of "<code>&lt;?</code>", 
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   565
                <var>node</var>'s
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   566
                <code><a title="dom-characterdata-data" data-spec="DOM4" class="externalDFN">data</a></code>, 
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   567
                and "<code>?></code>".
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   568
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   569
                <!-- This does not actually appear to be the case in implementations today.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   570
                <p>If <var>data</var> doesn't match the
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   571
                  <code><a title="NT-PI" data-spec="XML10" class="externalDFN">PI</a></code> production, throw a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   572
                  <code><a title="domexception" data-spec="DOM4" class="externalDFN">DOMException</a></code>
15
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   573
                  with name <code>InvalidStateError</code> and terminate the entire algorithm.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   574
                -->
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   575
                
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   576
                <li>Return <var>markup</var>.
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   577
              </ol>
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   578
            <p class=note>ProcessingInstruction objects may be created by the historical 
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   579
            <code>document.createProcessingInstruction</code> API, or as a result of parsing an
072801890ccd Add support for DOCTYPE serialization on XML docs. Fixed an error with Text in
travil
parents: 14
diff changeset
   580
            <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>.
16
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   581
         
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   582
        </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   583
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   584
        <p>To <dfn title="concept-serialize-doctype">produce a DocumentType serialization</dfn> of a
16
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   585
        <a title="node" data-spec="DOM4" class="externalDFN">Node</a> <var>node</var>, the user agent
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   586
        must return the result of the following algorithm:</p>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   587
                
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   588
        <ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   589
            <li>Let <var>markup</var> be an empty string.
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   590
            <li>Append the string "<code>&lt;!DOCTYPE</code>" to <var>markup</var>.
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   591
            <li>Append "<code> </code>" (U+0020 SPACE) to <var>markup</var>.
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   592
            <li>Append the value of the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   593
                <code><a title="dom-documenttype-name" data-spec="DOM4" class="externalDFN">name</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   594
                attribute to <var>markup</var>. For a <var>node</var> belonging to an
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   595
                <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>,
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   596
                the value will be all lowercase.
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   597
            <li>If the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   598
                <code><a title="dom-documenttype-publicid" data-spec="DOM4" class="externalDFN">publicId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   599
                is not the empty string then append the following, in order, to <var>markup</var>:
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   600
                <ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   601
                    <li>"<code> </code>" (U+0020 SPACE);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   602
                    <li>The string "<code>PUBLIC</code>";
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   603
                    <li>"<code> </code>" (U+0020 SPACE);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   604
                    <li>"<code>"</code>" (U+0022 QUOTATION MARK);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   605
                    <li>The value of the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   606
                        <code><a title="dom-documenttype-publicid" data-spec="DOM4" class="externalDFN">publicId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   607
                        attribute;
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   608
                    <li>"<code>"</code>" (U+0022 QUOTATION MARK);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   609
                </ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   610
            </li>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   611
            <li>If the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   612
                <code><a title="dom-documenttype-systemid" data-spec="DOM4" class="externalDFN">systemId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   613
                is not the empty string and the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   614
                <code><a title="dom-documenttype-publicid" data-spec="DOM4" class="externalDFN">publicId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   615
                is set to the empty string, then append the following, in order, to <var>markup</var>:
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   616
                <ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   617
                    <li>"<code> </code>" (U+0020 SPACE);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   618
                    <li>The string "<code>SYSTEM</code>";
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   619
                </ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   620
            </li>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   621
            <li>If the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   622
                <code><a title="dom-documenttype-systemid" data-spec="DOM4" class="externalDFN">systemId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   623
                is not the empty string then append the following, in order, to <var>markup</var>:
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   624
                <ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   625
                    <li>"<code> </code>" (U+0020 SPACE);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   626
                    <li>"<code>"</code>" (U+0022 QUOTATION MARK);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   627
                    <li>The value of the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   628
                        <code><a title="dom-documenttype-systemid" data-spec="DOM4" class="externalDFN">systemId</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   629
                        attribute;
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   630
                    <li>"<code>"</code>" (U+0022 QUOTATION MARK);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   631
                </ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   632
            </li>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   633
            <li>Optional: if the <var>node</var> has an (historical) 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   634
                <code><a title="ID-Core-DocType-internalSubset" data-spec="DOM3" class="externalDFN">internalSubset</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   635
                and the
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   636
                <code><a title="ID-Core-DocType-internalSubset" data-spec="DOM3" class="externalDFN">internalSubset</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   637
                attribute's value is a non-empty string, then append the following,
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   638
                in order, to <var>markup</var>:
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   639
                <ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   640
                    <li>"<code> </code>" (U+0020 SPACE);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   641
                    <li>"<code>[</code>" (U+005B LEFT SQUARE BRACKET);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   642
                    <li>The value of the <var>node</var>'s 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   643
                        <code><a title="ID-Core-DocType-internalSubset" data-spec="DOM3" class="externalDFN">internalSubset</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   644
                        attribute;
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   645
                    <li>"<code>]</code>" (U+005D RIGHT SQUARE BRACKET);
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   646
                </ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   647
                <p class=note>A <var>node</var> belonging to an
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   648
                   <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   649
                   will never have an 
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   650
                   <code><a title="ID-Core-DocType-internalSubset" data-spec="DOM3" class="externalDFN">internalSubset</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   651
                   because any <code><a title="ID-Core-DocType-internalSubset" data-spec="DOM3" class="externalDFN">internalSubset</a></code>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   652
                   markup is ignored by the parser.</p>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   653
            </li>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   654
            <li>Append "<code>&gt;</code>" (U+003E GREATER-THAN SIGN) to <var>markup</var>.
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   655
        </ol>
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   656
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   657
        <p>To <dfn title="concept-find-defined-prefixes">find the defined namespace prefixes</dfn> for an 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   658
            <a title="element" data-spec="DOM4" class="externalDFN">Element</a> <var>element</var>, given a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   659
            <a title="concept-namespace-prefix-map">namespace prefix map</a> <var>map</var>, a list of strings
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   660
            <var>element prefixes list</var> (initially empty), and a boolean <var>default namespace found</var>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   661
            flag, the user agent must run the following steps:
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   662
        <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   663
            <li>Let <var>default namespace found</var> have the value <code>false</code>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   664
            <li>For each <a title="concept-attribute" data-spec="DOM4" class="externalDFN">attribute</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   665
                <var>attr</var> in <var>element</var>'s
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   666
                <a title="concept-element-attribute" data-spec="DOM4" class="externalDFN">attributes</a>,
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   667
                in order:
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   668
            <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   669
                <p class="note">The following conditional steps add namespace prefix declarations
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   670
                    into the <var>element prefixes list</var> and add or replace them in the <var>map</var>. 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   671
                    Only attributes in the <a title="xmlns-ns">XMLNS namespace</a> are
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   672
                    collected (e.g., attributes made to look like namespace declarations via 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   673
                    <code><a title="dom-element-setattribute" data-spec="DOM4" class="externalDFN">setAttribute</a>(<em>"xmlns:name"</em>,
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   674
                    <em>"value"</em>)</code> are not included).</p>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   675
                <li>Let <var>attribute namespace</var> be the <var>attr</var>'s  
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   676
                    <a title="dom-attribute-namespaceuri" data-spec="DOM4" class="externalDFN">namespaceURI</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   677
                    value.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   678
                <li>Let <var>attribute prefix</var> be the value of <var>attr</var>'s 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   679
                        <a title="dom-attribute-prefix" data-spec="DOM4" class="externalDFN">prefix</a>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   680
                <li>If the <var>attribute namespace</var> is the <a title="xmlns-ns">XMLNS namespace</a> and
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   681
                    the <var>attribute prefix</var> is not <code>null</code>, then:
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   682
                <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   683
                    <li>Let <var>prefix definition</var> be the value of <var>attr</var>'s 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   684
                        <a title="dom-attribute-localname" data-spec="DOM4" class="externalDFN">localName</a>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   685
                    <li>Let <var>namespace definition</var> be the value of <var>attr</var>'s 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   686
                        <a title="dom-attribute-value" data-spec="DOM4" class="externalDFN">value</a>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   687
                    <li>If a key matching the value of <var>namespace definition</var> already exists in
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   688
                        <var>map</var>, then update the key's value to be <var>prefix definition</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   689
                    <li>Otherwise, append to <var>map</var> a new key <var>namespace definition</var>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   690
                        whose key value is the <var>prefix definition</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   691
                    <li>Append the value of <var>prefix definition</var> to <var>element prefixes list</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   692
                </ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   693
                <li>Otherwise, this is a default namespace declaration. Set the value of <var>default namespace
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   694
                    found</var> to be true.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   695
            </ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   696
        </ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   697
        
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   698
        <p>To <dfn title="concept-generate-prefix">generate a prefix</dfn> given a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   699
            <a title="concept-namespace-prefix-map">namespace prefix map</a> <var>map</var>, a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   700
            string <var>new namespace</var>, and a 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   701
            <a title="concept-generated-prefix">generated namespace prefix index</a> <var>prefix
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   702
            index</var>, the user agent must run the following steps:
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   703
        <ol>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   704
            <li>Let <var>generated prefix</var> be the concatenation of the string <code>"ns"</code> and
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   705
                the current numerical value of <var>prefix index</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   706
            <li>Let the value of <var>prefix index</var> be incremented by one.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   707
            <li>Append to <var>map</var> a new key <var>new namespace</var> whose key value is the 
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   708
                <var>generated prefix</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   709
            <li>Return the value of <var>generated prefix</var>.
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   710
        </ol>
16
809c9f8a41a9 Factored the DOCTYPE serialization algorithm to additionally support HTML docs
travil
parents: 15
diff changeset
   711
        
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   712
        <p>The <dfn title="concept-serialize-xml-attributes">XML serialization of the attributes</dfn>
38
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   713
        of an <a title="concept-element" data-spec="DOM4" class="externalDFN">Element</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   714
        <var>element</var> together with a <a title="concept-namespace-prefix-map">namespace prefix map</a>
fb9edcfb8f5f Rewrite of the Element serializing XML serializer algorithm. Should be much closer
travil
parents: 37
diff changeset
   715
        <var>map</var> is the result of the following algorithm:
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   716
        <ol>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   717
            <li>Let <var>result</var> be the empty string.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   718
            <li>For each
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   719
                <a title="concept-attribute" data-spec="DOM4" class="externalDFN">attribute</a>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   720
                <var>attr</var> in <var>element</var>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   721
                <a title="concept-element-attribute" data-spec="DOM4" class="externalDFN">attributes</a>,
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   722
                in order:
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   723
                <ol>
37
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   724
                    <li>Let <var>attribute namespace</var> be the <var>attr</var>'s  
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   725
                        <a title="dom-attribute-namespaceuri" data-spec="DOM4" class="externalDFN">namespaceURI</a>
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   726
                        value.
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   727
                    <li>Append the following strings to <var>result</var>:
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   728
                        <ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   729
                            <li>"<code> </code>" (U+0020 SPACE);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   730
                            <li><var>attr</var>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   731
                            <a title="concept-attribute-name" data-spec="DOM4" class="externalDFN">name</a>;
22
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   732
                            <!--<p class="issue">escaping / throwing  NO issues here to my knowledge -->
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   733
                            <li>"<code>="</code>" (U+003D EQUALS SIGN, U+0022 QUOTATION MARK);
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   734
                            <li><var>attr</var>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   735
                            <a title="concept-attribute-value" data-spec="DOM4" class="externalDFN">value</a>,
22
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   736
                            replacing any occurrences of the following:
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   737
                            <ol>
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   738
                                <li>"<code>&quot;</code>" with "<code>&amp;quot;</code>"
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   739
                                <li>"<code>&amp;</code>" with "<code>&amp;amp;</code>"
33
bfa43ce953aa Bug 24174 - < should be quoted in attribute values (edit)
travil
parents: 32
diff changeset
   740
                                <li>"<code>&lt;</code>" with "<code>&amp;lt;</code>"
bfa43ce953aa Bug 24174 - < should be quoted in attribute values (edit)
travil
parents: 32
diff changeset
   741
                                <li>"<code>&gt;</code>" with "<code>&amp;gt;</code>"
22
eed5e10aa64b Addressed the issue cases for element and attribute names and values.
travil
parents: 21
diff changeset
   742
                            </ol>
33
bfa43ce953aa Bug 24174 - < should be quoted in attribute values (edit)
travil
parents: 32
diff changeset
   743
                            <p class=note>This matches behavior present in browsers, and goes above
bfa43ce953aa Bug 24174 - < should be quoted in attribute values (edit)
travil
parents: 32
diff changeset
   744
                            and beyond the grammar requirement in the XML specification's AttValue
bfa43ce953aa Bug 24174 - < should be quoted in attribute values (edit)
travil
parents: 32
diff changeset
   745
                            production [[XML10]] by also replacing "<code>&gt;</code>" characters.</p>
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   746
                            <li>"<code>"</code>" (U+0022 QUOTATION MARK).
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   747
                        </ol>
37
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   748
                    <p class="note">The following conditional steps add any namespace prefix declarations
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   749
                        into the <var>prefixes</var> list. Only attributes in the XMLNS namespace are
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   750
                        collected (e.g., attributes made to look like namespace declarations via 
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   751
                        <code><a title="dom-element-setattribute" data-spec="DOM4" class="externalDFN">setAttribute</a>(<em>"xmlns:name"</em>,
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   752
                        <em>"value"</em>)</code> are not included).
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   753
                    <li>If the value of <var>attribute namespace</var> is equal to 
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   754
                        <code>http://www.w3.org/2000/xmlns/</code> (the XMLNS namespace), then:
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   755
                        <ol>
37
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   756
                            <li>Let <var>prefix definition</var> be the value of <var>attr</var>'s 
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   757
                                <a title="dom-attribute-localname" data-spec="DOM4" class="externalDFN">localName</a>.
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   758
                            <li>Add the value of <var>prefix definition</var> to <var>prefixes</var>. 
37
c80b719c8211 Correction to the namespace prefix matching sub-steps--they must only consider real XMLNS attributes.
travil@microsoft.com
parents: 36
diff changeset
   759
                                Since this namespace prefix definition has been serialized, it is
18
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   760
                                unnecessary to serialize it again if subsequently encountered in 
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   761
                                <var>element</var>'s children.
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   762
                        </ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   763
                </ol>
15a9ba955a3a Expanded the XML Serialization algorithm for Elements (and a sligt enhancement
travil
parents: 17
diff changeset
   764
            <li>Return <var>result</var>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   765
        </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   766
    </section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   767
</section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   768
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   769
<section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   770
    <h1>The <code>DOMParser</code> interface</h1>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   771
    
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   772
<pre class=extraidl>enum <span class=idlInterfaceID>SupportedType</span> {
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   773
    "text/html",
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   774
    "text/xml",
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   775
    "application/xml",
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   776
    "application/xhtml+xml",
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   777
    "image/svg+xml"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   778
};</pre>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   779
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   780
    <p>The <dfn title="dom-domparser"><code>DOMParser()</code></dfn> constructor
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   781
    must return a new <code>DOMParser</code> object.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   782
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   783
    <dl class="idl" title="[Constructor] interface DOMParser">
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   784
        <dt>Document parseFromString(DOMString str, SupportedType type)</dt>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   785
        <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   786
            <p>The
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   787
            <dfn title="dom-domparser-parsefromstring"><code>parseFromString(<var>str</var>, <var>type</var>)</code></dfn>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   788
            method must run these steps, depending on <var>type</var>:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   789
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   790
            <dl class=switch>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   791
                <dt>"<code>text/html</code>"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   792
                <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   793
                <p>Parse <var>str</var> with an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   794
                <code><a data-spec="HTML5" title="html-parser" class="externalDFN">HTML parser</a></code>, and return the newly
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   795
                created <a title="concept-document" data-spec="DOM4" class="externalDFN">document</a>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   796
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   797
                <p>The <a data-spec="HTML5" title="scripting-flag" class="externalDFN">scripting flag</a> must be set to
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   798
                "disabled".
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   799
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   800
                <p class=note><code><a data-spec="HTML5" title="meta" class="externalDFN">meta</a></code> elements are not
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   801
                taken into account for the encoding used, as a Unicode stream is passed into
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   802
                the parser.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   803
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   804
                <p class=note><code><a data-spec="HTML5" title="script" class="externalDFN">script</a></code> elements get marked
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   805
                unexecutable and the contents of <code><a data-spec="HTML5" title="noscript" class="externalDFN">noscript</a></code>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   806
                get parsed as markup.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   807
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   808
                <dt>"<code>text/xml</code>"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   809
                <dt>"<code>application/xml</code>"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   810
                <dt>"<code>application/xhtml+xml</code>"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   811
                <dt>"<code>image/svg+xml</code>"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   812
                <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   813
                <ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   814
                    <li>Parse <var>str</var> with a namespace-enabled
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   815
                    <code><a data-spec="HTML5" title="xml-parser" class="externalDFN">XML parser</a></code>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   816
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   817
                    <li>If the previous step didn't return an error, return the newly
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   818
                    created <a title="concept-document" data-spec="DOM4" class="externalDFN">document</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   819
                    and terminate these steps.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   820
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   821
                    <li>Otherwise, throw a 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   822
                    <a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> 
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   823
                    with name <code>SyntaxError</code>.
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   824
                    
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   825
                    <p class=note>Some UAs do not throw an exception, but rather return a minimal 
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   826
                    well-formed XML document that describes the error. In these cases, the error 
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   827
                    document's root element will be named <code>parsererror</code> and its namespace
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   828
                    will be set to "<code>http://www.mozilla.org/newlayout/xml/parsererror.xml</code>".
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   829
                    
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   830
                    <!--
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   831
                    It does not make sense to pave the cow paths by standardizing the 
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   832
                    mozilla error handling approach, when there is clear objection to that approach
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   833
                    from web developers who expect success to load the document they want, rather
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   834
                    than an error document. Browsers are reluctant to change behavior due to web
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   835
                    compatibility, but IE has thrown in these cases for multiple releases now without
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   836
                    any significant compatibility impact, and thus it seems feasable to spec the 
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   837
                    simpler and developer-expected behavior here.
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   838
                    appropriate behavior here.
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   839
                    
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   840
                    <li>Let <var>document</var> be a newly-created
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   841
                    <code><a data-spec="DOM4" title="xmldocument" class="externalDFN">XMLDocument</a></code>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   842
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   843
                    <li>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   844
                    <p>Let <var>root</var> be a new
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   845
                    <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code>, with its
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   846
                    <a title="concept-element-local-name" data-spec="DOM4" class="externalDFN">local name</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   847
                    set to "<code>parsererror</code>" and its
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   848
                    <a title="concept-element-namespace" data-spec="DOM4" class="externalDFN">namespace</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   849
                    set to
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   850
                    "<code>http://www.mozilla.org/newlayout/xml/parsererror.xml</code>".
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   851
                    <!-- see https://bugzilla.mozilla.org/show_bug.cgi?id=45566 --><!--
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   852
                    <p>At this point user agents may
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   853
                    <a data-spec="DOM4" title="concept-node-append" class="externalDFN">append</a> nodes
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   854
                    to <var>root</var>, for example to describe the nature of the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   855
                    error.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   856
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   857
                    <li><a data-spec="DOM4" title="concept-node-append" class="externalDFN">Append</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   858
                    <var>root</var> to <var>document</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   859
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   860
                    <li>Return <var>document</var>.
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   861
                    -->
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   862
                </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   863
            </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   864
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   865
            <p>In any case, the returned
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   866
            <a title="concept-document" data-spec="DOM4" class="externalDFN">document</a>'s
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   867
            <a title="concept-document"-content-type data-spec="DOM4" class="externalDFN">content type</a>
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   868
            must be the <var>type</var> argument. Additionally, the 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   869
            <a title="concept-document" data-spec="DOM4" class="externalDFN">document</a> must have a
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   870
            <a title="concept-document"-url data-spec="DOM4" class="externalDFN">URL</a> value equal to 
23
0890bba5b66a Resolved issue of DOMParser-parsed document properties, and switched DOMParser's
travil
parents: 22
diff changeset
   871
            the URL of the 
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   872
            <a title="active-document" data-spec="HTML5" class="externalDFN">active document</a>, a 
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   873
            <a title="location" data-spec="HTML5" class="externalDFN">location</a> value of <code>null</code>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   874
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   875
            <p class=note>The returned
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   876
            <a title="concept-document" data-spec="DOM4" class="externalDFN">document</a>'s
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   877
            <a title="concept-document"-encoding data-spec="DOM4" class="externalDFN">encoding</a> is
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   878
            the default, UTF-8.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   879
        </dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   880
    </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   881
</section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   882
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   883
<section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   884
    <h1>The <code>XMLSerializer</code> interface</h1>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   885
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   886
    <p>The <dfn title="dom-xmlserializer"><code>XMLSerializer()</code></dfn>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   887
    constructor must return a new <code>XMLSerializer</code> object.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   888
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   889
    <dl class="idl" title="[Constructor] interface XMLSerializer">
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   890
        <dt>DOMString serializeToString(Node root)</dt>
0
f39b5b437d3d The beginning.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents:
diff changeset
   891
17
b1c206041ab9 Small consistency fix plus validation error fix.
travil
parents: 16
diff changeset
   892
        <dd>The <code>serializeToString(<var>root</var>)</code>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   893
        method must <a title="concept-serialize-xml">produce an XML serialization</a> of <var>root</var> and return the result.</dd>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   894
    </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   895
</section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   896
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   897
<section>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   898
    <h1>Extensions to the <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> interface</h1>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   899
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   900
    <dl class="idl" title="partial interface Element">
11
ed0d76e9894d Processing WHATWG checkin:
travil
parents: 10
diff changeset
   901
        <dt>[TreatNullAs=EmptyString] attribute DOMString innerHTML</dt>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   902
        <dd>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   903
            <p>The <dfn title="dom-element-innerhtml"><code>innerHTML</code></dfn> IDL
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   904
            attribute represents the markup of the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   905
            <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code>'s contents.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   906
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   907
            <dl class=domintro>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   908
                <!--doc.ih
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   909
                <dt><var>document</var> . <code title="dom-document-innerhtml">innerHTML</code> [ = <var>value</var> ]
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   910
                <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   911
                <p>Returns a fragment of HTML or XML that represents the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   912
                <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   913
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   914
                <p>Can be set, to replace the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   915
                <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code>'s contents with the result of
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   916
                parsing the given string.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   917
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   918
                <p>In the case of an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   919
                will throw an
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   920
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>InvalidStateError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   921
                if the <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code> cannot be serialized
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   922
                to XML, and a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   923
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>SyntaxError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   924
                if the given string is not well-formed.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   925
                -->
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   926
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   927
                <dt><var>element</var> . <code title="dom-element-innerhtml">innerHTML</code> [ = <var>value</var> ]
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   928
                <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   929
                <p>Returns a fragment of HTML or XML that represents the element's
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   930
                contents.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   931
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   932
                <p>Can be set, to replace the contents of the element with nodes
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   933
                parsed from the given string.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   934
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   935
                <p>In the case of an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   936
                will throw a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   937
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>InvalidStateError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   938
                if the <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> cannot be serialized
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   939
                to XML, and a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   940
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>SyntaxError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   941
                if the given string is not well-formed.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   942
            </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   943
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   944
            <p>On getting, if the <a title="context object">context object</a>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   945
            <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   946
            is an <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>, then the attribute
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   947
            must return the result of running the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   948
            <a data-spec="HTML5" title="html-fragment-serialization-algorithm" class="externalDFN">HTML fragment serialization algorithm</a> on the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   949
            <a title="context object">context object</a>; otherwise, the <a title="context object">context object</a>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   950
            <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   951
            is an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>, and the attribute must
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   952
            return the result of running the        
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   953
            <a data-spec="HTML5" title="xml-fragment-serialization-algorithm" class="externalDFN">XML fragment serialization algorithm</a> on the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   954
            <a title="context object">context object</a> instead (this might throw an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   955
            exception instead of returning a string).
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   956
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   957
            <p>On setting, these steps must be run:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   958
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   959
            <ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   960
                <li>Let <var>fragment</var> be the result of invoking the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   961
                <a title="concept-parse-fragment">fragment parsing algorithm</a> with
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   962
                the new value as <var>markup</var>, and the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   963
                <a title="context object">context object</a> as the <var>context element</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   964
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   965
                <li><a data-spec="DOM4" title="concept-node-replace-all" class="externalDFN">Replace all</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   966
                with <var>fragment</var> within the <a title="context object">context object</a>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   967
            </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   968
        </dd>
0
f39b5b437d3d The beginning.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents:
diff changeset
   969
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   970
        <!-- outerHTML -->
11
ed0d76e9894d Processing WHATWG checkin:
travil
parents: 10
diff changeset
   971
        <dt>[TreatNullAs=EmptyString] attribute DOMString outerHTML</dt>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   972
        <dd>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   973
            <p>The <dfn title="dom-element-outerhtml"><code>outerHTML</code></dfn> IDL
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   974
            attribute represents the markup of the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   975
            <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> and its contents.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   976
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   977
            <dl class=domintro>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   978
              <dt><var>element</var> . <code title="dom-element-outerhtml">outerHTML</code> [ = <var>value</var> ]
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   979
              <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   980
                <p>Returns a fragment of HTML or XML that represents the element and its
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   981
                contents.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   982
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   983
                <p>Can be set, to replace the element with nodes parsed from the given
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   984
                string.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   985
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   986
                <p>In the case of an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   987
                will throw a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   988
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>InvalidStateError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   989
                if the element cannot be serialized to XML, and a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   990
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>SyntaxError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   991
                if the given string is not well-formed.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   992
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   993
                <p>Throws a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
   994
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>NoModificationAllowedError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   995
                if the parent of the element is the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   996
                <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code> node.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   997
            </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   998
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
   999
            <p>On getting, if the <a title="context object">context object</a>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1000
            <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1001
            is an <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>, then the attribute
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1002
            must return the result of running the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1003
            <a data-spec="HTML5" title="html-fragment-serialization-algorithm" class="externalDFN">HTML fragment serialization algorithm</a> on a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1004
            fictional node whose only child is <a title="context object">context object</a>; otherwise, the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1005
            <a title="context object">context object</a>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1006
            <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1007
            is an <a title="xml-document" data-spec="DOM4" class="externalDFN">XML document</a>, and the attribute must
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1008
            return the result of running the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1009
            <a data-spec="HTML5" title="xml-fragment-serialization-algorithm" class="externalDFN">XML fragment serialization algorithm</a> on that
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1010
            fictional node instead (this might throw an exception instead of returning a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1011
            string).
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1012
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1013
            <p>On setting, the following steps must be run:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1014
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1015
            <ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1016
                <li>Let <var>parent</var> be the <a title="context object">context object</a>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1017
                <a data-spec="DOM4" title="concept-tree-parent" class="externalDFN">parent</a>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1018
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1019
                <li>If <var>parent</var> is null, terminate these steps. There would be no
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1020
                way to obtain a reference to the nodes created even if the remaining steps
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1021
                were run.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1022
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1023
                <li>If <var>parent</var> is a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1024
                <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code>, throw a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1025
                <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>NoModificationAllowedError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1026
                exception and terminate these steps.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1027
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1028
                <li>If <var>parent</var> is a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1029
                <code><a title="documentfragment" data-spec="DOM4" class="externalDFN">DocumentFragment</a></code>, let
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1030
                <var>parent</var> be a new
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1031
                <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> with
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1032
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1033
                <ul>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1034
                    <li><code>body</code> as its
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1035
                    <a data-spec="DOM4" title="concept-element-local-name" class="externalDFN">local name</a>,
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1036
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1037
                    <li>the <a data-spec="DOM4" title="html-namespace" class="externalDFN">HTML namespace</a> as its
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1038
                    <a data-spec="DOM4" title="concept-element-namespace" class="externalDFN">namespace</a>, and
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1039
                    <li>the <a title="context object">context object</a>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1040
                    <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1041
                    as its
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1042
                    <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1043
                </ul>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1044
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1045
                <li>Let <var>fragment</var> be the result of invoking the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1046
                <a title="concept-parse-fragment">fragment parsing algorithm</a> with
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1047
                the new value as <var>markup</var>, and <var>parent</var> as
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1048
                the <var>context element</var>.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1049
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1050
                <li><a data-spec="DOM4" title="concept-node-replace" class="externalDFN">Replace</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1051
                the <a title="context object">context object</a> with <var>fragment</var> within
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1052
                the <a title="context object">context object</a>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1053
                <a data-spec="DOM4" title="concept-tree-parent" class="externalDFN">parent</a>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1054
            </ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1055
        </dd>
0
f39b5b437d3d The beginning.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents:
diff changeset
  1056
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1057
        <!-- insertAdjacentHTML -->
9
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1058
        <dt>void insertAdjacentHTML(DOMString position, DOMString text)</dt>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1059
        <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1060
             <dl class=domintro>
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1061
                  <dt><var>element</var> . <code title="dom-element-insertadjacenthtml">insertAdjacentHTML</code>(<var>position</var>, <var>text</var>)
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1062
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1063
                  <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1064
                    <p>Parses the given string <var>text</var> as HTML or XML and inserts
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1065
                    the resulting nodes into the tree in the position given by the
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1066
                    <var>position</var> argument, as follows:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1067
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1068
                    <dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1069
                      <dt>"beforebegin"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1070
                      <dd>Before the element itself.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1071
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1072
                      <dt>"afterbegin"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1073
                      <dd>Just inside the element, before its first child.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1074
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1075
                      <dt>"beforeend"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1076
                      <dd>Just inside the element, after its last child.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1077
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1078
                      <dt>"afterend"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1079
                      <dd>After the element itself.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1080
                    </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1081
9
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1082
                    <p>Throws a <code>SyntaxError</code> exception if the arguments have invalid values (e.g., in the case of an
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1083
                    <a data-spec="DOM4" title="xml-document" class="externalDFN">XML document</a>, if the given string is
9
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1084
                    not well-formed).
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1085
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1086
                    <p>Throws a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1087
                    <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>NoModificationAllowedError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1088
                    if the given position isn't possible (e.g. inserting elements
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1089
                    after the root element of a <code><a title="document" data-spec="DOM4" class="externalDFN">Document</a></code>).
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1090
                </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1091
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1092
                <p>The
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1093
                <dfn title="dom-element-insertadjacenthtml"><code>insertAdjacentHTML(<var>position</var>, <var>text</var>)</code></dfn>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1094
                method must run these steps:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1095
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1096
                <ol>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1097
                    <li>Use the first matching item from this list:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1098
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1099
                    <dl class=switch>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1100
                        <dt>If <var>position</var> is an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1101
                        <a data-spec="DOM4" class="externalDFN" title="ascii-case-insensitive">ASCII case-insensitive</a> match for
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1102
                        the string "beforebegin"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1103
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1104
                        <dt>If <var>position</var> is an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1105
                        <a data-spec="DOM4" class="externalDFN" title="ascii-case-insensitive">ASCII case-insensitive</a> match for
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1106
                        the string "afterend"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1107
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1108
                        <dd>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1109
                            <p>Let <var>context</var> be the <a title="context object">context object</a>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1110
                            <a data-spec="DOM4" title="concept-tree-parent" class="externalDFN">parent</a>.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1111
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1112
                            <p>If <var>context</var> is null or a
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1113
                            <a data-spec="DOM4" class="externalDFN" title="concept-document">document</a>, throw
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1114
                            a
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1115
                            <code><a data-spec="DOM4" title="domexception" class="externalDFN">DOMException</a></code> with name <code>NoModificationAllowedError</code>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1116
                            and terminate these steps.
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1117
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1118
                        <dt>If <var>position</var> is an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1119
                        <a data-spec="DOM4" class="externalDFN" title="ascii-case-insensitive">ASCII case-insensitive</a> match for
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1120
                        the string "afterbegin"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1121
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1122
                        <dt>If <var>position</var> is an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1123
                        <a data-spec="DOM4" class="externalDFN" title="ascii-case-insensitive">ASCII case-insensitive</a> match for
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1124
                        the string "beforeend"
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1125
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1126
                        <dd>Let <var>context</var> be the <a title="context object">context object</a>.
9
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1127
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1128
                        <dt>Otherwise
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1129
                        <dd>
da5f2328b74a Processing WHATWG checkin:
travil
parents: 8
diff changeset
  1130
                            <p>Throw a <code>SyntaxError</code> exception.
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1131
                    </dl>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1132
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1133
                  <li>If <var>context</var> is not an
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1134
                    <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> or the following are all true:
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1135
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1136
                    <ul>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1137
                      <li><var>context</var>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1138
                      <a title="concept-node-document" data-spec="DOM4" class="externalDFN">node document</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1139
                      is an <a title="html-document" data-spec="DOM4" class="externalDFN">HTML document</a>,
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1140
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1141
                      <li><var>context</var>'s
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1142
                      <a data-spec="DOM4" title="concept-element-local-name" class="externalDFN">local name</a>
1
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1143
                      is "<code>html</code>", and
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1144
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1145
                      <li><var>context</var>'s
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1146
                      <a data-spec="DOM4" title="concept-element-namespace" class="externalDFN">namespace</a>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1147
                      is the <a data-spec="DOM4" title="html-namespace" class="externalDFN">HTML namespace</a>;
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1148
                    </ul>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1149
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1150
                    <p>let <var>context</var> be a new
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1151
                    <code><a title="element" data-spec="DOM4" class="externalDFN">Element</a></code> with
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1152
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1153
                    <ul>
5cb52744fe44 Conversion to ReSpec and W3C editor's draft template.
travil@travil1.wingroup.windeploy.ntdev.microsoft.com
parents: 0
diff changeset
  1154
                      <li><code>body</code> as its
34
f5458f389274 Applied consistent quoting around title attributes and lowercased all refs to
tleithea
parents: 33
diff changeset
  1155
                      <a data-spec="DOM4" title="concept-element-local-name" class="externalDFN">local name</a>,