Is & gt; когда-либо было необходимо?

Я сейчас разрабатываю веб-сайты и интерфейсы XML уже 7 лет и никогда не сталкивался с ситуацией, когда было действительно необходимо использовать & gt; для a > .

Так что даже там, > не упоминается как нечто особенное, кроме как из конечной последовательности раздела CDATA.

Это единственный случай, когда > имеет какое-либо значение, будет концом раздела CDATA, ]]> , но, опять же, если вы кавычки, то цитата (т. е. литеральная строка ]] & gt; ) буквально попадет на выход (так как это CDATA ).

14
задан Boldewyn 26 August 2010 в 10:14
поделиться

3 ответа

В этом нет необходимости, потому что почти любой интерпретатор XML поймет, что вы имеете в виду. Но все же вы используете специальный символ без какой-либо защиты, если вы это сделаете.

XML - это семантика, и она не совсем совместима с семантикой.

Что касается вашего обновления , вы забыли эту часть:

Правая угловая скобка (>) может быть представлена ​​с помощью строки «>», и для совместимости должна быть экранирована с помощью либо «> "или ссылка на символ, когда она появляется в строке" ]]> "в содержимом, когда эта строка не отмечает конец раздела CDATA.

Вариант использования, приведенный в документации, больше похож на этот:

<xmlmarkup>
]]>
</xmlmarkup>

Здесь часть ]]> могла быть проблемой со старыми синтаксическими анализаторами SGML, поэтому она должна быть экранировано в = ]]> по соображениям совместимости.

7
ответ дан 1 December 2019 в 14:31
поделиться

Я использовал один не 19 часов назад, чтобы пройти строгий валидатор xml. Другой случай — когда вы используете их на самом деле в тексте содержимого html/xml (а не в атрибутах), например: <.

Конечно, нестрогий синтаксический анализатор примет почти все, что вы ему бросите, но если вас когда-нибудь беспокоит XSS, < — ваш друг.

Обновление: Вот пример, когда вам нужно экранировать > в Firefox:

<?xml version="1.0" encoding="utf-8" ?>
<test>
    ]]>
</test>

Конечно, это все еще не пример того, как нужно экранировать одинокое >.

3
ответ дан 1 December 2019 в 14:31
поделиться

Не столько как автор (x)html документов, сколько как пользователь неаккуратно написанных полей комментариев на сайтах, которые "предлагают" вам вставить html.

Я имею в виду, что если вы сделаете свой сайт правильно, вы все равно не будете жестко кодировать свой контент, верно? Таким образом, ваш вызов htmlentities или что-то еще (давно не виделись, php) позаботится о замене специальных символов для вас. Конечно, вы бы не стали набирать вручную >, но я надеюсь, что вы примете меры, чтобы > автоматически заменялись.

3
ответ дан 1 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: