HTML-сущности с применением / xhtml + xml Content-Type - PullRequest
1 голос
/ 31 мая 2011

При использовании приложения / xhtml + xml Content-Type я не могу использовать никакие именованные объекты HTML в моем javascript (, & euro; и т. Д.).

Работает нормально, когда я использую тип содержимого text / html. Оскорбляющие сущности HTML также хорошо работают, когда помещаются в сам документ (вместо использования Javascript).

Когда я нажимаю «Инструменты разработчика F12» в IE9, я получаю следующую ошибку:

SCRIPT5022: DOM Exception: SYNTAX_ERR (12) 
    javascript.js, line 7 character 2
XML5645: The specified entity has not been declared. 
    , line 1 character 42

Firefox выдает похожую ошибку:

[11:19:33.491] undefined entity:1
[11:19:33.493] uncaught exception: [Exception... "An invalid or illegal string was specified"  code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)"  location: "http://arp242.net/entity-test/javascript.js Line: 8"]

И тогда исполнение прекращается.

Я создал тестовую страницу для тестирования / изоляции, где проблема: http://arp242.net/entity-test/

Насколько я могу судить, именованные сущности HTML совершенно допустимы в XHTML (http://www.w3.org/TR/2002/REC-xhtml1-20020801/#h-A2)

У кого-нибудь есть подсказка, как решить проблему? Я могу ввести символы (€, -, «,» и т. Д.) Или цифры & # ..; значения и это работает, но я бы предпочел использовать объекты HTML. Существует также довольно много существующего (стороннего) кода, который использует сущности HTML, и я бы предпочел не конвертировать все это.

Спасибо!

1 Ответ

1 голос
/ 01 июня 2011

XML не имеет текстовых именованных сущностей, вы можете определить их либо в типе документа, либо заменить текстовые именованные сущности символами кода (например, is и т. Д.)

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references (взять код Unicodeдесятичная точка)

...