- From: <bugzilla@jessica.w3.org>
- Date: Tue, 22 Oct 2013 11:46:09 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=23587
Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |xn--mlform-iua@xn--mlform-i
| |ua.no
Assignee|robin@w3.org |dave.null@w3.org
--- Comment #1 from Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no> ---
(In reply to Jakub Łopuszański from comment #0)
The culprit is 3 competing (parsing) rules:
1) Comments in a script element have to be closed inside the same
script element.
QUESTION: Is this an *authoring rule*, only?
Or is it also a *parsing rule*, too?
ANSWER: It is an authoring rule *mostly*, but there is an
exception, see rule 3) below.
2) Script element ends when parser sees the end tag "</script>".
This is true even in case of <script><!--</script>, which
NU validator considers *invalid*, but which nevertheless
works fine in parsers.
3) The *first* (but not the second(!)) end tag "</script>" is
ignored if it occurs inside a comment *and* there, before
the end tag, is a start tag "<script>. So this swallows the
entire document:
<script><!--<script></script><body>foo</html>
But this doesn’t:
<script><!--<script></script></script><body>foo</html>
This works fine as well (since comment is after start tag):
<script><script><!--</script><body>foo</html>
As long as only rule 1) and rule 2) are active, then everything is nice
and dandy. it Is rule 3) that complicates.
QUESTION:
Is rule 3) documented/described in the spec? If so, where?
NOTE:
We do *not* see the same behavior for <style>, despite that it
is the same kind of element (takes raw text content) - this
works fine: <style><!--<style></style>
SOLUTION(S) FOR AUTHORS:
(1) Authors already know that the script element ends
when they insert the end tag </script>. Therefore authors *do*
escape the end tag </script>. But authors are not particulary
aware that the start tag <script>, if it occurs inside a
comment, makes the parser *ignore* the end tag </script>.
(2) Solution: Inside the script element, the spec should recommend that
authors escape not only the end tag </script> but also the start tag
<script>. Alternatively, authors could make sure that the script
elemnets ends wiht *two* end tags </script> ...
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 22 October 2013 11:46:10 UTC