
- •Серверы приложений. Веб-серверы
- •Лекция основные принципы технологии «клиент--сервер»
- •Меры безопасности
- •Установка iis
- •Контрольный список программного обеспечения iis
- •Процедура установки iis
- •Краткая история сервера apache.
- •Лекция основы web-программирования
- •1. Основы функционирования Интернета
- •2. Язык разметки html*
- •3. Каскадные таблицы стилей (css)
- •4. Язык сценариев JavaScript
- •5. Объектная модель dhtml
- •6. Объектная модель dom
- •7. Основы языка xml и объектная модель xml
- •Лекция Протоколы прикладного уровня
- •Что такое soap
- •Что такое веб-сервисы
- •Механизм взаимодействия клиента и сервера
- •Лекция Развитие языков разметки гипертекста
- •Структура html-документа
- •Лекция Описание html. Теги языка, их свойства.
- •Описание html
- •Лекция Фреймы. Формы
- •Html формы
- •Тэги Формы
- •Меню выбора в формах
- •Лекция Каскадные таблицы стилей
- •Id селекторы (id Selectors):
- •Лекция Характеристика и возможности xml
- •Как выглядит xml-документ?
- •Правила создания xml- документа
- •Конструкции языка
- •Элементы данных
- •Комментарии
- •Атрибуты
- •Cпециальные символы
- •Директивы анализатора
- •Просмотр xml - документов
- •Стилевые таблицы xsl
- •С чего начать
- •Структура xsl- таблиц
- •Правила xsl
- •Корневое правило
- •Отношения между элементами
- •Использование атрибутов элементов
- •Фильтрация элементов
- •Лекция Язык описания схемы данных xml (dtd)
- •Схемы данных
- •Лекция Объектная модель документа dom
- •Лекция Характеристика ис. Спецификация cgi. Расширения isapi. Серверы asp
- •Лекция Характеристика программного средства(php)
- •Лекция Основы языка ис. Синтаксис
- •Лекция Элементы и выражения языка
- •Элементы языка
- •Лекция Функции ис (php)
- •Функции отрезания пробелов
- •Базовые функции
- •Лекция Характеристика программного средства (JavaScript )
- •Лекция Синтаксис языка Java Script. Операторы. JavaScript Велечины, Имена, и Литералы
- •Выражения
- •Условные Выражения
- •Декремент (--)
- •Унарное вычитание (-)
- •Побитовые Операторы
- •Побитовые Логические операторы
- •Побитовые Операторы сдвига
- •Логические операторы
- •Вычисление...
- •Операторы Строки
- •Лекция Объекты JavaScript. Методы и события
- •Общие сведения
- •Понятие объектной модели применительно к JavaScript
- •Cвойства
- •События
- •Размещение кода на html-странице
- •Обработчики событий
- •Подстановки
- •Вставка (контейнер script - принудительный вызов интерпретатора)
- •Размещение кода внутри html-документа
- •Условная генерация html-разметки на стороне браузера
- •Иерархия классов
Структура xsl- таблиц
Рассмотрим основные структурные элементы XSL, используемые, в частности, в конверторе msxsl, для создания оформления XML-документов.
Правила xsl
XSL- документ представляет собой совокупность правил построения, каждое из которых выделено в отдельный блок, ограниченный тэгами <rule> и </rule>;. Правила определяют шаблоны, по которым каждому элементу XML ставится в соответствие последовательность HTML- тэгов, т.е. внутри них содержатся инструкции, определяющие элементы XML- документа и тэги форматирования, применяемые к ним.
Элементы XML, к которым будет применяться форматирование, обозначаются в XSL дескриптором <target-element/>;. Для указания элемента с конкретным названием (название элемента определяется тэгами, его обозначающими), т.е. определения класса элемента, можно использовать атрибут type="<имя_элемента>"
Вот пример простейшего XSL-документа, определяющего форматирование для фрагмента <flower>rose</flower> :
<xsl>
<rule>
<target-element type="flower"/>
<p color="red" font-size="12">
<children/>
</p>
</rule>
</xsl>
Уже на этом примере можно проследить особенность использования стилевых таблиц: в любых правилах при помощи соответствующих элементов декларативно задается область, которая определяет фрагмент XML-документа, как мы чуть позже увидим, программа-анализатор заново проходит все элементы, начиная с текущего, всякий раз, когда в структуре XML- документа обнаруживаются новые вложенные элементы.
Инструкция <target-element> указывает на то, что данное правило определяет элемент. Параметром type="flower" задается название XML-элемента, для которого будет использоваться это правило. Программа-конвертор будет использовать HTML-тэги, помещенные внутри блока <rule></rule> для форматирования XML-элемента, которому "предназначался" текущий блок. В том случае, если для какого-то элемента XML шаблон не определяется, в выходной документ будут добавлены тэги форматирования по умолчанию (например, <DIV></DIV> )
Процесс разбора XSL-правил является рекурсивным, т.е. если у элемента есть дочерние элементы, то программа будет искать определения этих элементов, расположенных "глубже" в дереве документа. Указанием на то, что необходимо повторить процесс разбора XML документа, теперь уже для дочерних элементов, является инструкция <children/>. Дойдя до нее, анализатор выберет из иерархического дерева XML- элементов нужную ветвь и найдет в XSL-шаблонах правила, определяющие форматирование этих нижележащих элементов. В том случае, если вместо <children> мы укажем инструкцию <empty/>;, программа закончит движение по данной ветви и возвратится назад, в родительское правило. При этом текущее правило никакой информации в выходном HTML-документе изменять не будет, т.к. <empty/> в данном случае означает, что содержимое элемента отсутствует.
Если в одном правиле <target-element> используется несколько раз, то инструкции по форматированию будут распространены на все описываемые внутри него XML-элементы, т.е. можно задавать единый шаблон форматирования для нескольких элементов одновременно:
<xsl>
<rule>
<target-element type="item1"/>
<target-element type="item2"/>
<target-element type="item3"/>
<hr>
<children/>
<hr>
</rule>
</xsl>
Ниже приведен пример более сложного XSL- описания, некоторые фрагменты которого будут пояснены позже.
XML-документ:
<?XML Version="1.0"?>
<documents>
<books>
<book id="Book1">
<title>Макроэномические показатели экономики
Римской Империи в период ее расцвета</title>
<author>Иван Петров</author>
<date>21.08.98</date>
</book>
<book id="Book2">
<title>Цветоводство и животноводство.
Практические советы</title>
<author>Петр Сидоров</author>
<date>10.10.98</date>
</book>
</books>
<articles>
<article id="Article1">
<author>Петр Иванов</author>
<title>Влияние повышения тарифов оплаты за телефон
на продолжительность жизни населения</title>
<date>12.09.98</date>
</article>
</articles>
</documents>
Содержимое XSL-документа:
<xsl>
<rule>
<root/>
<HTML>
<BODY bgcolor="white">
<center><hr width="80%"/><b>Library</b>
<hr width="80%"/><br/>
<table width="80%" border="2">
<children/>
</table></center>
</BODY>
</HTML>
</rule>
<rule>
<element type="book">
<target-element type="author"/>
</element>
<td align="center">
<p color="red" font-size="14"> <b>
<children/>
</b></p></td>
</rule>
<rule>
<element type="article">
<target-element type="author"/>
</element>
<td align="center">
<p color="red" font-size="14"
font-style="italic"><children/></p></td>
</rule>
<rule>
<target-element type="book"/>
<tr><children/></tr>
</rule>
<rule>
<target-element type="article"/>
<tr><children/></tr>
</rule>
<rule>
<target-element/>
<td align="center"><p><children/></p></td>
</rule>
<rule>
<target-element type="books"/>
<tr><td colspan="3" bgcolor="silver"
>Books</td></tr>
<children/>
</rule>
<rule>
<target-element type="articles"/>
<tr><td colspan="3" bgcolor="silver"
>Articles</td></tr>
<children/>
</rule>
</xsl>