|
aranea.ru || WML - Введение | 6. Набор символов WML
6. Набор символов WMLWML является языком XML, и наследует набор символов XML-документов. В номенклатуре языка SGML набор символов документа состоит из всех логических символов, которые тип документа может содержать (например, буква 'T' и фиксированное целое число, которое определяет такую букву). SGML- или XML-документ является просто последовательностью этих маркеров из целых чисел, которые, взятые вместе, формируют документ. Набором символов документа для XML и WML является универсальный набор символов (Universal Character Set) из ISO/IEC- 10646 ([ISO10646]). В настоящее время этот набор символов идентичен Unicode 2.0 [UNICODE]. WML в будущем примет изменения и расширения для спецификаций [XML] и [ISO 10646]. В пределах этого документа термины ISO 10646 и Unicode используются взаимозаменяемо и указывают на один и тот же набор символов документа. Не существует требований, чтобы WML-деки кодировались бы полностью с помощью кодировки Unicode (например, UCS-4). Может использоваться любая кодировка символов ("charset"), которая содержит соответствующее подмножество логических символов в Unicode, (например, US-ASCII, ISO-8859-1, UTF-8, Shift_JIS и т.д.). Документы, не закодированные с использованием UTF-8 или UTF-16, должны объявлять свою кодировку, как это указано в спецификации XML. 6.1 Модель обработки ссылокWML-документы могут быть закодированы с помощью любой кодировки символов, как определено в [HTML4]. Кодировка символов WML-документа может конвертироваться (или преобразовываться) в другую, которая лучше согласуется с характеристиками устройства вывода. Однако, преобразование кода может привести к потере информации и должно избегаться, когда устройство вывода поддерживает оригинальную кодировку документа. Ненужное преобразование кода избегаться тогда, когда в ее результате будет потеряна информация. Если необходимо, преобразование кода следует выполнять перед тем, как документ доставляется к устройству вывода. Эта спецификация не указывает, какую кодировку символов должно поддерживать устройство вывода. Так как WML является XML-приложением, то кодировка символов WML-документа определяется, как установлено в спецификации XML [XML]. В нормальных случаях всегда можно определить кодировку символов документа (все другие случаи являются ошибочными ситуациями). Формулировка meta http-equiv, если присутствует в документе, никогда не используется для определения кодировки символов. Если WML-документ трансформируется в другой формат, отличный от XML, например, в двоичном формате WBXML, то тогда правила, уместные для такого формата, используются для установки кодировки символов. Когда WML-документ сопровождается внешней информацией (например, HTTP или MIME), то для определения кодировки символов доступны множественные источники информации. В этом случае их относительный приоритет и предпочитаемый метода разрешения конфликта следует определять как часть протокола высокого уровня. Посмотрите, например, на документацию типов медиа MIME "text/vnd. wap . wml" и "application/vnd. wap . wmlc". Модель обработки ссылок языка WML состоит в следующем. Устройства вывода должны выполнять эту модель обработки, или модель, которая не отличается от таковой.
Данное выполнение может выбирать любое внутреннее представление (или повторное представление), которое является удобным. 6.2 Примитивы символовДанная кодировка символов не способна выразить все символы в наборе символов документа. Для такой кодировки, или когда характеристики устройства не позволяют пользователям вводить некоторые символы документа напрямую, авторы и пользователи могут использовать примитивы символов (т.е, специальные символы [XML]). Символьные примитивы являются механизмом, независимым от кодировки символов, для ввода любого символа из набора символов документа. Язык WML поддерживает и именные, и числовые примитивы. Важным следствием модели обработки ссылок является то, что ко всем числовым примитивам символов обращаются с учетом набора символов документа (Unicode), и не к текущей кодировке документа (charset). Это означает, что & #302; всегда обращается к одному и тому же логическому символу, независимому от текущей кодировки символов. WML поддерживает следующие форматы символьных примитивов:
Семь именных примитивов символов важные при обработке WML: <!ENTITY quot """> <!-- quotation mark --> <!ENTITY amp "&"> <!-- ampersand --> <!ENTITY apos "'"> <!-- apostrophe --> <!ENTITY lt "<"> <!-- less than --> <!ENTITY gt ">"> <!-- greater than --> <!ENTITY nbsp " "> <!-- non-breaking space --> <!ENTITY shy ""> <!-- soft hyphen (discretionary hyphen) --> |