Технология XSLT
Шрифт:
□ Запись
□ Запись
□ Запись
□ Запись
Посмотрим теперь, какую информацию нам дают такие громоздкие определения. Обратимся к записи одного из элементов
С атрибутами
Анализируя определение сущности
Вторым способом использования нотаций является присвоение определенного формата содержимому элемента. Один (но не более чем один) из атрибутов элемента может иметь тип
В этом документе определяется три нотации, три формата данных:
Несмотря на то, что
Символьные данные в XML-документах
Каковы бы ни были структура и синтаксис текстового документа, основой его всегда являются символы. Для хранения и обработки текста на компьютерах, которые по своей природе являются цифровыми устройствами, каждому символу нужно поставить в соответствие числовой код.
Проблема многих языков заключается в том, что для них существует несколько альтернативных кодировок символов. Например, для кириллицы существуют такие кодировки, как CP-866, KOI8-R, CP-1251, ISO-8859-5, кодовая страница Macintosh и другие, но вместе с тем не существует единого стандарта, принятого де-факто. В итоге, для того, чтобы быть уверенным, что документ будет прочтен, его нужно представлять в трех или четырех кодировках, что очень неудобно.
Для того чтобы решить эти и некоторые другие проблемы, был создан стандарт Unicode. Unicode присваивает уникальный код любому символу, независимо от платформы, независимо от программы, независимо от языка. Символам кириллицы Unicode присваивает коды в диапазоне от
http://www.unicode.org/charts/PDF/U0400.pdf.
Использование Unicode
Для описания символов сотен языков всего мира, а также других символьных обозначений (например, математических символов) Unicode позволяет использовать три формы кодирования — UTF-8, UTF-16 и UTF-32.
В UTF-8 символы разных диапазонов кодируются последовательностями, состоящими из разного количества байт в соответствии со следующими правилами.
□ Символы с кодами в интервале
□ Для остальных символов число байт определяется количеством ведущих единиц первого байта последовательности.
□ Два первые бита каждого последующего байта равны единице и нулю соответственно.
□ Все остальные биты используются для кодирования символа.
В табл. 1.2 для каждого интервала символов показано количество байт, нужных для кодирования символа, форма кодирования и количество бит, доступных для кода.
Таблица 1.2. Формы кодирования символов в UTF-8
Диапазон | Кол-во байт | Форма кодирования | Кол-во бит |
---|---|---|---|
#x0-#x7F | 1 | 0xxxxxxx | 7 |
#x80-#x7FF | 2 | 110xxxxx 10xxxxxx | 11 |
#x800-#xFFFF | 3 | 1110xxxx 10xxxxxx 10xxxxxx | 16 |
#x10000- #x1FFFFF | 4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 21 |