Навигация
Главная
Поиск
Форум
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
Пример работы с... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
21 ошибка прогр... 65535
Гостевая книга ... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Содержание сайт... 65535
Invision Power ... 65535
Программируемая... 65535
Оператор выбора... 65535
Модуль Forms 65535
Реклама
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

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

Моделирование работы обрабатывающего участка цеха в GPSS
Моделирование работы ЭВМ на GPSS + Пояснительная записка
Моделирование процесса обработки заданий пакетным режимом работы с квант...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Создание собственной таблицы стилей
Во многих языках программирования существует традиция в качестве первого примера реальной программы приводить программу, которая содержит саму себя. Поскольку 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 Апрель 08 2013 18:58:17 · 0 Комментариев · 2510 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
DS_Group
Delphi7 Для профе...
EditNew
Игра Car [Исходни...
Приемы программир...
PBFoldder
Иллюстрированный ...
PRNDbgrid
Размещение элемен...
C++ Builder в за...
Графика в проекта...
oTextrackBar
Dynamic Titles дл...
Таймер и секундомер
Самоучитель Прогр...
Assembler. Практикум
Простой текстовый...
TmxOutlookBarPro
Применение фильтр...
Создание Web-сайт...

Топ загрузок
Приложение Клие... 100682
Delphi 7 Enterp... 95268
Converter AMR<-... 20187
GPSS World Stud... 16686
Borland C++Buil... 13901
Borland Delphi ... 9711
Turbo Pascal fo... 7229
Калькулятор [Ис... 5596
Visual Studio 2... 5127
FreeSMS v1.3.1 3621
Случайные статьи
Медицинские негато...
Метод не занимает ...
Функции ввода/вывода
Файл main.cpp
Game Boy, 1989 год
Функция VirtualQue...
О файле Favicon.ico
Средства для работ...
Основные конструкц...
Pin Up Casino: can...
Базовая программа ...
и режим ядра гаран...
Тестирование, поис...
Когда количество э...
Пакет: бесплатный ...
status
Простая переносим...
Оставшиеся проблем...
Vulkanstavkagames....
Решения к главе 4
Протокол LACP IEEE...
Очереди с приоритетом
Модуль с функцией
Ползунки Microsoft
Политика выделения...
Статистика



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


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