Нужно ли html кодировать прямые угловые скобки?

Я добавляю некоторые данные метаописания в свой заголовок следующим образом:

HtmlMeta meta = new HtmlMeta();
meta.Name = "description";
meta.Content = description; // this is unencoded
page.Header.Controls.Add(meta);

И .net услужливо кодирует такие вещи, как & и ‹, но не >. Теперь я не могу представить, что это было бы оплошностью, поэтому я делаю вывод, что избегать их не нужно. Но прежде чем я вернусь к клиенту с этим ответом, было бы неплохо сначала получить подтверждение от Some Strangers From The Intarwebs :)


person user568259    schedule 12.09.2011    source источник
comment
это дублирующий вопрос, stackoverflow.com/questions/7381974/ был первым - независимо от того, был ли он asp или что-то еще, что использовалось для создания спецификации (H) TML, это одно и то же   -  person revelt    schedule 07.01.2020


Ответы (1)


Согласно спецификации XML > действительно допустимо для атрибутов. Только <, & и " или ' нуждаются в экранировании.

[10]    AttValue    ::=    '"' ([^<&"] | Reference)* '"'
                         | "'" ([^<&'] | Reference)* "'"
person Diadistis    schedule 12.09.2011
comment
Интересный. Похоже, что .net не экранирует '. - person user568259; 12.09.2011
comment
Тест .Net 4.0: meta.Content = "&<>\"'"; -> content="&amp;&lt;>&quot;&#39;" - person Diadistis; 12.09.2011
comment
Хм. Может быть, я запутался, или то, что я думаю, на самом деле что-то другое. Во всяком случае, на мой первый вопрос был дан ответ. Спасибо, Знающий Незнакомец из Интернета! - person user568259; 12.09.2011