
- •Структура и принципы построения сети Интернет. Адресация в Интернет.
- •Понятие сетевого протокола. Основные Интернет-протоколы: tcp/ip, smtp, ftp, http, wap.
- •Протокол http: назначение и особенности. Схема «запрос-ответ» http. Структура http-запроса и http-ответа
- •Методы передачи данных get и post.
- •Рассмотрим небольшую форму, передающую имя пользователя:
- •Формирование ответа сервером
- •Html: назначение, синтаксис определения тегов, структура простейшего html-документа. Понятие xhtml и его особенности.
- •Базовые теги html: форматирование документа, создание ссылок, списков, таблиц, вставка изображений. Понятие слоя (блока). Основные свойства блоков и особенности их определения.
- •Назначение форм на html-странице. Основные теги создания форм и их атрибуты.
- •Понятие css. Способы включения стилей в html-документ. Понятие классов и псевдоклассов в css (привести примеры). Правила каскадирования (приоритета стилей).
- •Виды html-верстки и их особенности. Типовые макеты верстки.
- •JavaScript: назначение, cпособы включения кода JavaScript в состав html-документа, типизация данных, правила объявления локальных и глобальных переменных, объявление и использование функций.
- •Понятие dom (Document Object Model). Способы доступа к элементам html-документа с использованием JavaScript.
- •Функции организации временной задержки в JavaScript.Создание эффектов анимации с использованием JavaScript (привести пример).
- •Библиотека jQuery: назначение, подключение к html-странице, синтаксис команд jQuery, виды селекторов, обработка событий с использованием jQuery.
- •Php: назначение, особенности обработки php-скриптов. Включение кода php в состав Web-страницы. Получение данных формы php-сценарием (привести пример).
- •Php: типизация данных, объявление переменных и констант, определение функций, классификация переменных по области видимости.
- •If (условие) {
- •Виды массивов, поддерживаемых php. Инициализация массивов. Работа с датой и временем в php.
- •Include "путь/имя_файла";
- •Is_file(файл)
- •Is_writeable (файл)
- •Ifwrite(файловый манипулятор, переменная [,длина])
- •Is_readable (файл)
- •Для выполнения всех функций чтения из файла файловый манипулятор должен ссылаться на открытый файл, доступный для чтения. Положение указателя текущей позиции
- •Понятие сессии в php. Понятие идентификатора сессии и способы его передачи.
- •Использование баз данных MySql в Web-приложениях: создание базы данных, общая последовательность действий при работе с сервером MySql, основные функции php для работы с базой данных.
- •Xml: назначение, особенности синтаксиса, структура xml-документа.
- •Dtd: назначение, конструкции для определения элементов и их атрибутов.
- •Dtd: подключение dtd-определения к xml-документу, особенности определения типа элементов и атрибутов xml-документа.
- •Xsd: назначение, отличия от dtd, понятие пространства имен, использование целевого и исходного пространств имен.
- •Xsd: особенности определения элементов и их атрибутов, объявление простых и комплексных типов, подключение схемы xsd к xml-документу.
- •Xsl: назначение, структура xsl-документа, подключение к xml-документу.
- •Основные дескрипторы xsl: выборка данных xml-документа, фильтрация и сортировка данных. Особенности адресации к xml-данным.
- •Технология Ajax: назначение, сущность, этапы выполнения Ajax-запроса.
- •Технология Ajax: назначение объекта xmlHttpRequest, создание его экземпляра, отправка запроса на сервер и принятие ответа сервера.
- •Технология Ajax: разновидности запросов на сервер по типу запрашиваемых файлов и методу передачи данных, кэширование результата при get-запросах.
Основные дескрипторы xsl: выборка данных xml-документа, фильтрация и сортировка данных. Особенности адресации к xml-данным.
Для того, чтобы добавить в выходной модуль HTML значение атрибута атирибута используется символ @. Например, для вывода значения атрибута id тега <book id="Book1"> может использоваться следующая запись:
<xsl:value-of select="/books/book/author/@id"/>.
Чтобы вывести содержимое элемента, включающее HTML-теги, используется конструкция <xsl:copy-of select="название элемента/*"/>. Значение атрибута select предполагает выбор всех дочерних узлов (элементов, атрибутов, текста, комментариев) конкретного элемента.
В XSL предусмотрено два условных оператора: xsl:if и xsl:choose.
Рассмотрим использование оператора xsl:if. Например, чтобы проверить, издана ли книга позднее 1990 года из XML-документа (пример 1.1) может использоваться конструкция
<xsl:if test="year_publication > 1990"> Действия при выполнении условия</xsl:if>
Если нужно проверить обратное, т.е. что книга издана ранее 1990, нужно использовать не символ <, а его amp-последовательность (<):
<xsl:if test="year_publication < 1990"> Действия при выполнении условия</xsl:if>
Так как XML-документ чаще всего содержит не одну запись, а набор записей одинаковой структуры, требуется использование специального оператора для их перебора. Таким оператором является xsl:for-each.
Рассмотрим пример вывода XML-документа из примера 1.1 в виде таблицы на HTML-страницу (Пример 4.1).
Пример 4.1 (table.xsl)
<?xml version="1.0" encoding="WINDOWS-1251" ?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong>Автор</strong></td>
<td align="center"><strong>Название</strong></td>
<td align="center"><strong>Дата</strong></td>
</tr>
<tr>
<td align="center" colspan="3">
<strong>Книги</strong></td>
</tr>
<xsl:for-each select="documents/books/book">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="translate"/></td>
<td><xsl:value-of select="year_publication"/></td>
</tr>
</xsl:for-each>
<tr>
<td align="center" colspan="3">
<strong>Журналы</strong></td>
</tr>
<xsl:for-each select="documents/articles/article">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="year_publication"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
В этом примере xsl:for-each организует перебор всех элементов "book" и "article". Далее все что находится внутри этих элементов адресуется относительно текущего элемента, заданного атрибутом select инструкции xsl:for-each.
Для сортировки XML-элементов служит конструкция xsl:sort. Например, чтобы сортировать книги по дате рождения автора нужно модифицировать Пример 4.1 следующим образом:
Пример 4.2 (table_sort.xsl)
<?xml version="1.0" encoding="WINDOWS-1251" ?>
<xsl:stylesheet
xmlns:xsl=" http://www.w3.org/1999/XSL/Transform ">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<table border="1">
<tr bgcolor="#CCCCCC">
<td align="center"><strong>Автор</strong></td>
<td align="center"><strong>Название</strong></td>
<td align="center"><strong>Дата</strong></td>
</tr>
<tr>
<td align="center" colspan="3">
<strong>Книги</strong></td>
</tr>
<xsl:for-each select="documents/books/book">
<xsl:sort select=" year_publication"/>
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="translate"/></td>
<td><xsl:value-of select="year_publication"/></td>
</tr>
</xsl:for-each>
<tr>
<td align="center" colspan="3">
<strong>Журналы</strong></td>
</tr>
<xsl:for-each select="documents/articles/article">
<tr bgcolor="#F5F5F5">
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="year_publication"/></td>
</tr>
</xsl:for-each>
</table>
<html>
<head>
</head>
<body>
</xsl:template>
</xsl:stylesheet>
Опция select элемента xsl:sort определяет, по какому ключу идет сортировка. В примере - по году издания книги.
Элемент xsl:sort имеет также дополнительные параметры:
порядок сортировки (убывание/возрастание, атрибут case-order= "lower-first|upper-first");
тип данных (числовой/текстовый, атрибут data-type="number|text").