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

Тут можно читать онлайн Алексей Валиков - Технология XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Технология XSLT
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2002
  • Город:
    Санкт-Петербург
  • ISBN:
    нет данных
  • Рейтинг:
    4.75/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

Технология XSLT - описание и краткое содержание, автор Алексей Валиков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.

Для начинающих и профессиональных программистов

Технология XSLT - читать онлайн бесплатно полную версию (весь текст целиком)

Технология XSLT - читать книгу онлайн бесплатно, автор Алексей Валиков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Расширенные имена считаются совпадающими, если их локальные части равны и, при этом, они относятся к одному пространству имен.

Префикс в расширенном имени может быть опущен. В таком случае идентификатор пространства имен будет либо выбран по умолчанию (если имеется соответствующее объявление), либо будет нулевым.

Для описания имен элементов и атрибутов, которые должны иметь расширенное представление, используется продукция QName:

[NS6] QName ::= (Prefix ':')? LocalPart

Нетерминалу Prefixсоответствует префикс имени, который может быть опущен вместе со следующим за ним разделяющим двоеточием, LocalPartсоответствует локальной части имени.

[NS7] Prefix ::= NCName

[NS8] LocalPart ::= NCName

Структура XML-документа

В погоне за выразительной мощностью XML не следует забывать один из основополагающих принципов — нужно не просто выражать информацию, нужно выражать ее стандартным образом. Это включает в себя не только синтаксические принципы разметки текста, изложенные выше, но и ограничения, накладываемые на логическую структуру документов. Изобретая свой собственный набор элементов и атрибутов, мы вместе с этим набором изобретаем логический формат, а именно то, каким образом элементы и атрибуты должны формировать документ, какая информация должна присутствовать обязательно, а какая является опциональной, какие данные должны содержать те или иные атрибуты и элементы.

В первой версии XML для определения логической структуры документов использовался набор формальных правил, называемый DTD — декларацией типа документа (document type declaration). Помимо этого, в начале мая 2001 года была принята новая техническая рекомендация языка под названием XML-схема (XML Schema), которая также формально задает логическую структуру документа, определяет используемые типы данных, количество повторений и многое другое.

В этой главе мы разберем основы логического построения ХМL-документов с использованием DTD.

Декларация типа документа (DTD)

Декларация типа документа состоит из одного или нескольких правил-ограничений структуры документа. В частности, DTD позволяет задавать следующие правила:

ELEMENT— определение элемента;

ATTLIST— определение списка атрибутов элемента;

ENTITY— определение сущности;

NOTATION— определение нотации.

Эти определения могут быть заданы с использованием конструкции DOCTYPEнепосредственно в документе:

Другой возможностью определения декларации документа является использование внешнего файла:

В этом случае можно также дополнять внешние определения внутренними:

Декларация типа документа определяется следующей EBNF-продукцией:

[28] doctypedecl ::= '

('[' (markupdecl | DeclSep)* ']' S?)? '>'

Имя, соответствующее продукции Name, которая идет следом за ключевым словом DOCTYPE, определяет имя корневого элемента ХМL-документа. В предыдущем примере в корне документа должен стоять элемент advert.

Выражение (S ExternalID) ?указывает на то, что декларация типа документа может указываться во внешнем источнике (например, в файле), который описывается внешним идентификатором ExternalID.

[75] ExternalID ::= 'SYSTEM' S SystemLiteral

| 'PUBLIC' S PubidLiteral S SystemLiteral

В случае системного идентификатора ( "SYSTEM"), SystemLiteralопределяет URI определения типа документа. В случае публичного идентификатора, к этому параметру добавляется PubidLiteral, сообщающий дополнительную информацию о ресурсе. Обрабатывающее программное обеспечение может включать в себя DTD для заданного публичного идентификатора. Например, документы, написанные на языке XHTML, должны начинаться следующим объявлением:

"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

Программа, обрабатывающая документ с таким заголовком, сможет по публичному идентификатору понять, что документ создан на языке XHTML, а значит, обрабатывать его нужно в соответствии со стандартом этого языка. Если же обрабатывающая программа не в курсе определений XHTML, она сможет загрузить декларацию типа по адресу http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd. Публичные идентификаторы, как правило, используются в языках, получающих широкое распространение, поскольку в этом случае формат логической структуры будет известен и без загрузки DTD.

Выражение ('[' (markupdecl | DeclSep) * ']' S?) ?в продукции doctypedeclозначает, что в декларации типа документа в квадратных скобках может содержаться последовательность нетерминалов markupdeclи DeclSep.

Первый из этих нетерминалов, markupdecl, показывает, определения какого вида содержатся в DTD:

[29] markupdecl ::= elementdecl

| AttlistDecl

| EntityDecl

| NotationDecl

| PI

| Comment

С правилами PIи Commentмы уже знакомы — в данной продукции они показывают, что в DTD также можно использовать инструкции по обработке и комментарии.

Нетерминалы elementdecl, AttlistDecl, EntityDeclи NotationDeclсоответствуют определениям элемента, списка атрибутов, сущности и нотации. Они будут подробно разобраны в следующих четырех разделах.

Нетерминал DeclSepсоответствует разделителю объявлений, которые перечисляются в DTD. Этот разделитель может быть либо пробельным пространством, либо параметризованной сущностью:

[28а] DeclSep ::= PEReference | S

В случае, если определения в DTD разделяются сущностью-параметром, ее содержимое интерпретируется как обычные определения вида markupdecl.

Определение элемента

Определение элемента задает имя и тип содержимого элемента в следующем виде:

Имя элемента должно начинаться с буквы, подчеркивания (" _") или двоеточия (" :") и содержать буквы, цифры, некоторые знаки пунктуации (такие, как " _" — подчеркивание, " :" — двоеточие, " ." — точка, " -" — тире или знак минуса) и модифицирующие символы ( см. разд. "Базовые продукции ХМL" данной главы ).

Примером имени элемента может быть " A", " B:12", " MyEasyName", " doc.xml".

В качестве содержимого элемента может быть указано:

EMPTY, в случае, когда элемент обязан быть пустым;

ANY, в случае, когда элемент может содержать что угодно;

□ формальное правило, определяющее элементы, и данные, которые может содержать элемент, а также порядок их следования.

Первые два случая определения элемента довольно просты. Их использование может быть продемонстрировано на следующем примере:

Декларация

определяет документ с корневым элементом advert, в котором могут встречаться также элементы productи classified, причем элементы advertи productмогут содержать любые данные и любые из объявленных элементов, а элемент classifiedвсегда должен быть пустым.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Алексей Валиков читать все книги автора по порядку

Алексей Валиков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Технология XSLT отзывы


Отзывы читателей о книге Технология XSLT, автор: Алексей Валиков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x