Я делаю XML
для преобразования HTML
и мне нужно преобразовать некоторые объекты символов. Мой XML файл имеет значения Unicode, такие как è
который мне нужно преобразовать в соответствующее значение html è
, Другие объекты также должны быть преобразованы соответственно. Отображение символов для каждой сущности может быть тихим, так как их много.
Я использую XSLT 2.0. Мой метод вывода - xhtml
. И в настоящее время я получаю фактические символы (в приведенном выше случае è
) в своем HTML-коде. Нужна помощь. Версия моего саксонского процессора - 9.1.0.5
.
При нормальной обработке 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 как выходную кодировку, а затем просто буквальные символы в сериализации дерева результатов не должны создавать никаких проблем.
è
работать во всех браузерах и других пользовательских агентах HTML, которые вы можете найти в наши дни, так зачем вам их конвертировать? И если вы теперь получаете фактические символы в HTML, это нормально, при условии, что кодировка символов - UTF-8 и объявлена таким образом, как и должно быть.