Большинство сопоставлений базы данных по умолчанию не чувствительно к регистру, но в мире SQL Server это может быть установлено в экземпляре, базе данных и уровне столбца.
Рассмотрим этот упрощенный пример:
<script>
document.write("something </script> something");
</script>
Анализатор HTML браузера увидит
в строке JavaScript и интерпретирует его как конец элемента скрипта.
Анализатор HTML не знает синтаксиса JavaScript - он знает только то, что элемент
.
(Это также знает, что у вас не может быть вложенных элементов
в вашем примере.)
Предположим, вы пишете инструмент, который обнаруживает начало и конец блоков скрипта в фрагменте текста. Предположим, вы видите
<blah><blahdeblah><script>
blah blah blah
blah
print("</script>")
print("<script>")
blah
</script>
</blahdeblah></blah>
Не зная синтаксиса языка сценариев, как ваш инструмент узнает, что это ОДИН блок сценария, а не ДВА блока сценария с ") бла между ними?
Веб-браузер является таким инструментом. Это разумная практика, чтобы убедиться, что вы никогда не запутаете веб-браузер, никогда не имея
в вашем файле, если это на самом деле не тег скрипта.
, чтобы он не оценивался, а вставлялся в виде строки.
Это плохой способ помешать валидаторам XML / XHTML и HTML кричать на исходный код.
Полное обсуждение этого вопроса см .:
http://www.wwco.com/~wls/blog/2007/04/25/using-script-in-a-javascript-literal/
Короткий ответ: ваш код разбирается на две части дискретные шаги.
Первый - XML. А это означает, что элемент . Важно помнить, что элементы XML не зависят от содержимого. Это означает, что синтаксический анализатор не знает еще , что там есть JavaScript.
Как только он получает содержимое элемента