== Why is this an issue?

When parsing a script node, the browser treats its contents as plain text, and immediately finishes parsing when it finds the first closing ``++</script>++`` character sequence.

As a consequence, nested script nodes are not possible, because all opening ``++<script>++`` tags found along the way are ignored. 


Web browsers doesn't support nested ``++<script>...</script>++`` elements. But there is no error in such case and browsers just close the first encountered ``++<script>++`` tag as soon as a closing ``++</script>++`` tag is found along the way. So there is a big chance to display something totally unexpected to the end-users. 


=== Noncompliant code example

[source,html]
----
<script type="text/template">
  <div>
    Hello!
  </div>
  <script type="text/javascript">  <!-- Noncompliant -->
    alert("Hi!");
  </script>
</script>
----


=== Compliant solution

[source,html]
----
<script type="text/javascript">
  alert("Hi!");
</script>

<script type="text/template">
  <div>
    Hello!
  </div>
</script>
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

A </script> was found without a relating opening <script> tag. This may be caused by nested script tags.


endif::env-github,rspecator-view[]
