Skip to content

Commit 64f133a

Browse files
committed
Require PI target to be alphanumeric+hyphens or it becomes a comment
1 parent adabda9 commit 64f133a

1 file changed

Lines changed: 26 additions & 17 deletions

File tree

source

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -135005,6 +135005,15 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
135005135005
as-is except C1 control references that are replaced according to the <span>numeric character
135006135006
reference end state</span>.</p>
135007135007

135008+
<tr>
135009+
<td><dfn data-x="parse-error-disallowed-processing-instruction-target">disallowed-processing-instruction-target</dfn>
135010+
<td>
135011+
<p>This error occurs if the parser encounters an <span>ASCII case-insensitive</span> match
135012+
for "<code data-x="">xml</code>" or "<code data-x="">xml-stylesheet</code>" where a <span
135013+
data-x="syntax-pi-target">processing instruction target</span> that is expected. The
135014+
preceding U+003F (?) and all content that follows up to a U+003E (>) (if present) or to the
135015+
end of the <span>input stream</span> is treated as a comment.</p>
135016+
135008135017
<tr>
135009135018
<td><dfn data-x="parse-error-duplicate-attribute">duplicate-attribute</dfn>
135010135019
<td><p>This error occurs if the parser encounters an <span
@@ -135110,7 +135119,7 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
135110135119
<td><dfn data-x="parse-error-invalid-first-character-of-processing-instruction-target">invalid-first-character-of-processing-instruction-target</dfn>
135111135120
<td>
135112135121
<p>This error occurs if the parser encounters a <span>code point</span> that is not an
135113-
<span>ASCII alpha</span> where first code point of a <span
135122+
<span>ASCII alpha</span> where the first code point of a <span
135114135123
data-x="syntax-pi-target">processing instruction target</span> is expected. The preceding
135115135124
U+003F (?) and all content that follows up to a U+003E (>) (if present) or to the end of the
135116135125
<span>input stream</span> is treated as a comment.</p>
@@ -135119,7 +135128,7 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
135119135128
<td><dfn data-x="parse-error-invalid-first-character-of-tag-name">invalid-first-character-of-tag-name</dfn>
135120135129
<td>
135121135130
<p>This error occurs if the parser encounters a <span>code point</span> that is not an
135122-
<span>ASCII alpha</span> where first code point of a <span data-x="syntax-start-tag">start
135131+
<span>ASCII alpha</span> where the first code point of a <span data-x="syntax-start-tag">start
135123135132
tag</span> name or an <span data-x="syntax-end-tag">end tag</span> name is expected. If a
135124135133
start tag was expected such code point and a preceding U+003C (&lt;) is treated as text
135125135134
content, and all content that follows is treated as markup. Whereas, if an end tag was
@@ -135143,10 +135152,8 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
135143135152
<tr>
135144135153
<td><dfn data-x="parse-error-invalid-processing-instruction-target">invalid-processing-instruction-target</dfn>
135145135154
<td>
135146-
<p>This error occurs if the parser encounters a <span data-x="syntax-pi-target">processing
135147-
instruction target</span> that is "<code data-x="">xml</code>" or
135148-
"<code data-x="">xml-stylesheet</code>".
135149-
<span>ASCII alpha</span> where first code point of a <span
135155+
<p>This error occurs if the parser encounters a <span>code point</span> that is not an
135156+
<span>ASCII alphanumeric</span> or U+002D (-) where a <span
135150135157
data-x="syntax-pi-target">processing instruction target</span> is expected. The preceding
135151135158
U+003F (?) and all content that follows up to a U+003E (>) (if present) or to the end of the
135152135159
<span>input stream</span> is treated as a comment.</p>
@@ -139295,8 +139302,8 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
139295139302
<dt>U+003F QUESTION MARK (?)</dt>
139296139303
<dt>U+003E GREATER-THAN SIGN (&gt;)</dt>
139297139304
<dd>If the current processing instruction token's target is "<code data-x="">xml</code>" or
139298-
"<code data-x="">xml-stylesheet</code>", this is an <span
139299-
data-x="parse-error-invalid-processing-instruction-target">invalid-processing-instruction-target</span>
139305+
"<code data-x="">xml-stylesheet</code>", this is a <span
139306+
data-x="parse-error-disallowed-processing-instruction-target">disallowed-processing-instruction-target</span>
139300139307
<span>parse error</span>; discard the current processing instruction token, create a comment
139301139308
token whose data is the concatenation of "<code data-x="">?</code>" and the <var
139302139309
data-x="temporary buffer">temporary buffer</var>, and <span>reconsume</span> in the <span>bogus
@@ -139309,21 +139316,23 @@ dictionary <dfn dictionary>StorageEventInit</dfn> : <span>EventInit</span> {
139309139316
<span>current input character</span> to the <var data-x="temporary buffer">temporary
139310139317
buffer</var>.</dd>
139311139318

139312-
<dt>U+0000 NULL</dt>
139313-
<dd>This is an <span
139314-
data-x="parse-error-unexpected-null-character">unexpected-null-character</span> <span>parse
139315-
error</span>. Append a U+FFFD REPLACEMENT CHARACTER character to the current processing
139316-
instruction token's target. Append a U+FFFD REPLACEMENT CHARACTER character to the <var
139317-
data-x="temporary buffer">temporary buffer</var>.</dd>
139319+
<dt><span>ASCII lower alpha</span></dt>
139320+
<dt><span data-x="ASCII digits">ASCII digit</span></dt>
139321+
<dt>U+002D HYPHEN-MINUS (-)</dt>
139322+
<dd>Append the <span>current input character</span> to the current processing instruction
139323+
token's target. Append the <span>current input character</span> to the <var data-x="temporary
139324+
buffer">temporary buffer</var>.</dd>
139318139325

139319139326
<dt>EOF</dt>
139320139327
<dd>This is an <span data-x="parse-error-eof-in-processing-instruction">eof-in-processing-instruction</span>
139321139328
<span>parse error</span>. Emit an end-of-file token.</dd>
139322139329

139323139330
<dt>Anything else</dt>
139324-
<dd>Append the <span>current input character</span> to the current processing instruction token's
139325-
target. Append the <span>current input character</span> to the <var data-x="temporary
139326-
buffer">temporary buffer</var>.</dd>
139331+
<dd>This is an <span data-x="parse-error-invalid-processing-instruction-target">invalid-processing-instruction-target</span>
139332+
<span>parse error</span>. Discard the current processing instruction token. Create a comment
139333+
token whose data is the concatenation of "<code data-x="">?</code>" and the <var
139334+
data-x="temporary buffer">temporary buffer</var>. <span>Reconsume</span> in the <span>bogus
139335+
comment state</span>.</dd>
139327139336
</dl>
139328139337
</div>
139329139338

0 commit comments

Comments
 (0)