Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 14
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование системы управления качеством производственного процесса на...
Моделирование автомойки на GPSS + Отчет + Блок схемы
Моделирование интернет магазина (Apache, Php, Html) на GPSS + Блок схема

Создание собственной таблицы стилей
Во многих языках программирования существует традиция в качестве первого примера реальной программы приводить программу, которая содержит саму себя. Поскольку XSLT аналогичен языку программирования, то предложенный пример будет содержать цитату из начала главы.
Пример. Исходный документ имеет следующий вид:
<?xml version='1.0'?> <famous_quote>
Быть иль не 6biTb?</famous_quote>
Просмотрим этот файл в браузере Internet Explorer 5.0 (таблица стилей задана по умолчанию). К сожалению, его представление далеко от совершенства (рис. 12.1).
Естественно, дизайнер не стремился отобразить на экране дескрипторы начала и конца записи для элемента <f amous_quote>. Применим преобразования XSL Transformation для получения нужного изображения XHTML-файла в браузере Internet Explorer. Выходной файл должен иметь следующий вид:
<html> <head> <title>
Shakespeare Quotation
</title>
</head>
<body>
<Ь1>Быть иль не быть?</Ь1>
</body>
</html>
Примечание В выходном файле могут отсутствовать необходимые пробелы и отступы. Поэтому, в отличие от представленного здесь XHTML-документа, его трудно читать. Во избежание лишних проблем не пытайтесь управлять отступами в таблицах стилей и выходном документе.
При просмотре получившегося файла в Internet Explorer 5.0 становится ясно, что разработчику удалось достичь определенных успехов: в изображении выделен заголовок и намечена структура документа (рис. 12.2).
Ниже представлена XSLT-таблица стилей, которая позволяет получить такой тип изображения:
<?xml version-'1.0' ?> <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="l.0">
<xsl:template match-"/">
<html>
<head>
<title>
Shakespeare Quatation </title>
</head> <body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="famous_quote"> <hlxxsl :value-of select=" . "/></hl> </xsl:template> </xsl:stylesheet>
Чтобы понять алгоритм работы таблицы стилей, рассмотрим каждую строку документа:
<?xml version='1.О'?>
Представленная строка - это XML-объявление. Ее советуют включать в XSLT-таблицы преобразования стилей, но смысловой нагрузки она не несет.
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="l.0">
Открывающий тэг элемента <xsl: stylesheet> сообщает о том, что XSL-пространство имен настоящего документа использует заявленный консорциумом W3C для применения в XSLT-документах универсальный идентификатор ресурсов (URI).
<xsl:template match="/">
Элемент <xsl: template> служит ключевым для запуска многих XSLT-таб-лиц преобразования. Слэш является XPath-выражением, указывающим на корень документа. Поскольку исходный XML-документ, как и все деревья исходных документов, содержит корень, к нему применяется XSLT-шаблон. Главная функция, которую выполняет элемент <xsl: template>, состоит в выводе последовательности строк, формирующих XHTML-файл:
<html> <head> <title>
Shakespeare Quotation
</title>
</head>
<body>
Данный этап завершает ввод инициализирующей последовательности строк документа на языке XHTML. На выходе она примет вид литерального текста:
<xsl:apply-templates/>
Элемент <xsl: apply-templates/> используется для просмотра всех элементов, входящих в состав исходного XML-документа, и применения всех шаблонов, сопоставимых с соответствующими узлами элементов, которые входят в документ-источник.
</body> </html>
Закрывающие дескрипторы </body> и </html> выводятся в финальный файл после исполнения элемента <xsl: apply-templates/>.
Примечание Многие операции, исполняемые XSLT-процессором, не требуют соблюдения строгой последовательности. Однако для удобства восприятия этапов операций, включенных в таблицу преобразования стилей, лучше описывать конкретные действия по порядку.
Этим этапом литеральный выход завершается. Следующий элемент исходного кода - <xsl: templates>, вызываемый в результате исполнения предыдущего элемента - <xsl: apply-templates>:
</xsl:template>
<xsl:template match="famous_quote"> <hlxxsl: value-of select-" . "/></hl>
В записи присутствует элемент <xsl: templates который используется в качестве шаблона для элемента <f amous_quote>, принадлежащего исходному XML-документу. В данном случае в дереве, получаемом в качестве вывода, создается тэг <hl>. Затем элемент <xsl: value-of > применяется к содержимому элемента, который соответствует XPath-выражению «точка». Данная инструкция указывает, что текущим контекстом элемента <xsl: value-of > является содержимое элемента <f amous_quote> - строка текста «Быть иль не быть?». Она будет добавлена в дерево вывода на место, указанное элементом <xsl: apply-templates>, который размещен в XSLT-коде чуть выше.
</xsl:template> </xsl:stylesheets
Эти две строки закрывающие тэги. Первая завершает запись для элемента <xsl: tempi at е> (в данном случае XPath-выражение «точка» соответствует элементу <f amous_quote>), вторая - для элемента <xsl: stylesheet>.
Опубликовал vovan666 April 08 2013 14:58:17 · 0 Комментариев · 3622 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
База Allsubmitter...
Animated Menus
Основы Delphi. Пр...
Прграммирование в...
SearchAndReplace
Форма в форме
С# для профессион...
Паскаль и Дельфи....
INSTANT BOOSTER v...
netBIOS
WordReport
Система баннеро...
MiniChat
Swat [Исходник на...
Blobs [Исходник н...
Разработка клиент...
JanButtonsV
AUTOWEB
Архив программ
DiskInfo

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14238
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Переопределение и ...
Invalid ordering o...
Вычислительная мат...
Исследование Мира ...
Соединение абонент...
Атрибуты файлов
Используйте SN MP ...
Записать в конец к...
Определите тип инф...
Игры. Как победить...
Открытие документа
Форматирование вво...
ВВОД ИНФОРМАЦИИ С...
Глонасс установка
Как создать привле...
Возникновение взаи...
Очереди
Gorilla: Ставки на...
Дальнейшее развити...
Дополнительная пан...
Syntax error
INTERFACE expected
Нерекурсивное созд...
Интеграция журнала...
Урок 3. Продолжаем...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?