Алексей Валиков - Технология XSLT

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Технология XSLT"
Описание и краткое содержание "Технология XSLT" читать бесплатно онлайн.
Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.
Для начинающих и профессиональных программистов
□ Для остальных символов число байт определяется количеством ведущих единиц первого байта последовательности.
□ Два первые бита каждого последующего байта равны единице и нулю соответственно.
□ Все остальные биты используются для кодирования символа.
В табл. 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К примеру, символу "Э" (заглавной русской букве "Э") Unicode присваивает код #x42D или 10000101101 в двоичном представлении. Это значение входит в интервал #x80-#x7ff, значит, для кодирования нужно использовать двух-байтовую форму вида 110xxxxx 10xxxxxx, где символы "x" обозначают 11 бит, доступных для кодировки. Таким образом, данному символу будет соответствовать следующий двоичный код:
11010000 10101101
или #xD0AD в шестнадцатеричном представлении.
Полужирным шрифтом выделены управляющие биты UTF-8 (110 означает, что символ закодирован двухбайтной последовательностью, 10 определяет второй байт последовательности), курсивом — биты кода символа.
Удобство UTF-8 заключается в том, что кодировка первых 127 символов совпадает с широко распространенной 7-битной кодировкой ASCII. Это делает возможным использование уже существующего программного обеспечения для обработки текста в UTF-8, например текстовых редакторов.
UTF-16Для записи наиболее часто используемых символов с кодами, меньшими #xFFFF, UTF-16 использует двухбайтные последовательности, в которых каждый бит соответствует биту кода. Помимо этого, в UTF-16 могут быть также представлены символы с кодами в диапазоне #10000-#FFFFF. Для кодирования этих символов в UTF-16 применяются пары 16-битных значений в интервале #xD800-#xDFFF (ранее зарезервированные Unicode), называемые суррогатными парами (surrogate pairs). Младшие 10 бит каждого значения отводятся на кодировку символа, что в итоге дает 20 бит, достаточных для записи любого кода, не превышающего #xFFFFF (табл. 1.3).
Таблица 1.3. Формы кодирования символов в UTF-16
Диапазон Кол-во байт Форма кодирования Кол-во бит #x0-#xD7FF 2 xxxxxxxx xxxxxxxx 16 #xD800-#xDFFF Зарезервированы #xE000-#xFFFF 2 xxxxxxxx xxxxxxxx 16 #x10000-#xFFFFF 4 110110xxxxxxxxxx 110110xxxxxxxxxx 20 ПримерыСимвол "Э" с кодом #x42D будет записан в UTF-16 в виде последовательности из двух байт — #x042D.
Для символа с кодом #x153DC (в двоичном представлении — 10101001111011100) понадобится 4 байта. Он будет записан в виде
1101100001010100 1101101111011100
или #xD854DBDC в шестнадцатеричном исчислении.
Полужирным шрифтом выделены управляющие биты UTF-16, курсивом — биты кода символа.
UTF-32UTF-32 является самой простой формой кодирования — для каждого символа, вне зависимости от диапазона, используются 4 байта. Такой способ, несомненно, не является самым экономичным с точки зрения объема хранимой информации, но во многих случаях предоставляет определенные преимущества при обработке текста, так как символы не нужно декодировать.
Коды некоторых символов Unicode
В таблицах символов Unicode кодируются не только символы и знаки различных языков, но также и некоторые управляющие символы, например, неразрываемый пробел (no-break space), табуляция, перенос строки и так далее. Коды некоторых из этих символов, часто использующихся в XML-технологиях, мы приводим в табл. 1.4.
Таблица 1.4. Unicode-коды некоторых символов
Код Обозначение Описание #х9 [НТ] Горизонтальная табуляция (horizontal tabulation) #xA [LF] Перевод строки (line feed) #xD [CR] Возврат каретки (carriage return) #x20 [SP] Пробел (space) #x21 ! Восклицательный знак (exclamation sign) #x22 " Двойные кавычки (quotation mark) #x26 & Амперсант (ampersand) #x27 ' Апостроф или одинарные кавычки (apostrophe) #x3C < Знак "меньше" или левая угловая скобка (less-than sign) #x3F ? Вопросительный знак (question mark) #xA0 [NBSP] Неразрываемый пробел (no-break space)Коды многих других символов можно найти на Web-сайте Unicode Consortium в разделе Code Charts: http://www.unicode.org/charts/.
Базовые продукции XML
Теперь, когда мы разобрали модель символов Unicode, которая используется в XML, можно дать EBNF-определения основных базовых конструкций языка — символов, имен, именных токенов и их последовательностей.
В XML можно использовать любые символы Unicode, кроме суррогатных блоков и символов с кодами #xFFFE и #xFFFF:
[2] Char ::= #x9 | #xA | #xD | [#x20 - #xD7FF]
| [#хЕ000 - #xFFFD) | [#х10000 - #x10FFFF]
Для удобства все множество символов разделено на несколько категорий.
□ Буквы, которые соответствуют продукции Letter, в свою очередь, делятся на основные (BaseChar) и идеографические (Ideographic). Буквы относятся к алфавитам, из которых состоят слова различных языков. Продукции букв чрезвычайно просты, но громоздки, поскольку перечисляют символы различных алфавитов. Читатель может легко найти их в технической рекомендации XML по адресу http://www.w3.org/TR/REC-xml.html под номерами [84] (Letter), [85] (BaseChar) и [86] (Ideographic).
□ Цифры, которые составляют в различных культурах числа. Цифры определяются продукцией Digit с номером [88].
□ Модифицирующие символы (CombiningChar), которые изменяют написание или звучание символов, как, например, #x308 — двойная точка сверху символа, которая используется для обозначения умляута в немецком и для замены e на ё в русском языке. Продукция CombiningChar имеет номер [87].
□ Символы расширения (Extender). Продукция Extender имеет порядковый номер [89].
Следующей простейшей символьной конструкцией является пробельное пространство S. Приведем еще раз его продукцию:
[3] S ::= (#х9 | #хА | #xD | #x20)+
Во многих продукциях XML-языков используются имена. Например, имена даются элементам, атрибутам, переменным XPath и так далее. В основе определения имени лежат именные символы NameChar:
[4] NameChar ::= Letter | Digit | CombiningChar | Extender
| '.' | '-' | '_' | ':'
Имя начинается либо буквой, либо символами "_" или ":" и состоит из последовательности именных символов:
[5] Name ::= (Letter | '_' | ' :') (NameChar*)
В некоторых правилах XML используется последовательность имен, соответствующая продукции Names:
[6] Names ::= Name (S Name)*
Кроме того, техническая рекомендация определяет так называемый именной токен NmToken — строку, которая может состоять из одного или более именных символов и последовательности таких токенов, NmTokens.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Технология XSLT"
Книги похожие на "Технология XSLT" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Алексей Валиков - Технология XSLT"
Отзывы читателей о книге "Технология XSLT", комментарии и мнения людей о произведении.