Я пытаюсь исправить проблему с программой, которая генерирует XHTML, используя Haskell из текста UTF-8.Программа принимает строки этого текста и должна создавать допустимые объекты XHTML, но не делает этого.Я импортирую Text.XHtml.Transitional и использую функции href и identifier для генерации URI и атрибутов ID из строк UTF-8.Используя интерпретатор Haskell, мы можем увидеть:
Prelude Text.XHtml.Transitional> href "äöü"
href="äöü"
Это нормально и является допустимым URI XHTML.Однако,
Prelude Text.XHtml.Transitional> identifier "äöü"
id="äöü"
не соответствует спецификации, которая не допускает '&', '#' и ';'персонажи.Итак, похоже, что библиотека Text.XHtml.Transitional содержит ошибки.Более того, я думаю, что даже XHMTL плох, потому что он не дает сопоставления 1: 1 из UTF-8 в атрибутах и идентичного сопоставлению, используемому для URI.
Поскольку я новичокдля Хаскелла я мог где-то ошибиться.Кроме того, я знаю, что HTML5 ослабляет эти ограничения атрибутов.Но это не доминирующий атм.Библиотека глючит?Если да, то какое отображение должно заменить данное?
См. Также Недопустимые символы Xhtml?