XML в HTML: кодировка символов

0

Я делаю XML для преобразования HTML и мне нужно преобразовать некоторые объекты символов. Мой XML файл имеет значения Unicode, такие как è который мне нужно преобразовать в соответствующее значение html è , Другие объекты также должны быть преобразованы соответственно. Отображение символов для каждой сущности может быть тихим, так как их много.

Я использую XSLT 2.0. Мой метод вывода - xhtml. И в настоящее время я получаю фактические символы (в приведенном выше случае è) в своем HTML-коде. Нужна помощь. Версия моего саксонского процессора - 9.1.0.5.

  • 3
    Шестнадцатеричные ссылки, подобные è работать во всех браузерах и других пользовательских агентах HTML, которые вы можете найти в наши дни, так зачем вам их конвертировать? И если вы теперь получаете фактические символы в HTML, это нормально, при условии, что кодировка символов - UTF-8 и объявлена таким образом, как и должно быть.
  • 1
    E8 в шестнадцатеричной записи = 232 в десятичной записи. Конвертация возможна, не слишком сложна и совершенно ненужна, ИМХО.
Теги:
xslt

1 ответ

1
Лучший ответ

При нормальной обработке XSLT Saxon будет просто использовать парсер XML, такой как Xerces или версию Xerces, с которой работает Sun/Oracle JRE, и как только парсер выполнил свою работу, а Saxon работает по своей древовидной модели, нет никакого способа узнать, является ли исходный вход имел буквенный символ, например, è или десятичные символы, такие как è или шестнадцатеричный, такой как è , И при сериализации результирующего дерева преобразования вы, конечно, можете использовать карту символов для сопоставления символов любому желаемому представлению, но тогда оно будет удовлетворено любым è в результирующем дереве, а не только для тех, которые получены из шестнадцатеричных ссылок на символы ввода, Если вы хотите, чтобы все символы, отличные от ASCII, были сериализованы как ссылки на символы, вам нужно использовать xsl:output encoding="US-ASCII". Saxon 9.1 также предоставляет http://saxonica.com/documentation9.1/extensions/output-extras/character-representation.html для управления форматом.

Но я согласен с комментариями, которые в наши дни имеют UTF-8 как выходную кодировку, а затем просто буквальные символы в сериализации дерева результатов не должны создавать никаких проблем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню