- •Глава 1. Структура и синтаксис xml-документа 3
- •Глава 2. Дизайн документов xml 13
- •Глава 3. Xsl 23
- •Глава 5. Типы элементов ввода asp 45
- •Глава 6. Структуры управления asp 55
- •Глава 1. Структура и синтаксис xml-документа Практикум 1_1. Первый xml-документ
- •Практикум 1_2. Использование dtd для описания xml-документа
- •Практикум 1_3. Атрибуты
- •Практикум 1_4. Ссылки на символы
- •Практикум 1_5. Ссылки на сущности
- •Глава 1. Структура и синтаксис xml-документа 3
- •Глава 2. Дизайн документов xml 14
- •Глава 3. Xsl 25
- •Глава 5. Типы элементов ввода asp 48
- •Глава 6. Структуры управления asp 58
- •Глава 2. Дизайн документов xml Практикум 2.1. Визуализация первого xml-документа, используя внутреннюю таблицу стилей
- •Практикум 2. Визуализация первого xml-документа, используя внешнюю таблицу стилей
- •Практикум 3. Приоритеты между внешними и внутренними таблицами стилей
- •Практикум 3. Атрибуты
- •Практикум 4. Ссылки на символы
- •Практикум 5. Ссылки на сущности
- •Глава 1. Структура и синтаксис xml-документа 3
- •Глава 2. Дизайн документов xml 14
- •Глава 3. Xsl 26
- •Глава 5. Типы элементов ввода asp 48
- •Глава 6. Структуры управления asp 58
- •Глава 3. Xsl Практикум 3.1. Трансформация первого xml-документа
- •Практикум 3.3. Язык xPath в действии
- •Первый asp-пример Практикум Punctual Web Server
- •Как это работает
- •Практикум сценарий на стороне сервера
- •Как это работает
- •Практикум – vbScript-сценарий на стороне клиента
- •Как это работает
- •Порядок выполнения
- •Практикум – порядок выполнения
- •Глава 1. Структура и синтаксис xml-документа 3
- •Глава 2. Дизайн документов xml 14
- •Глава 3. Xsl 26
- •Глава 5. Типы элементов ввода asp 49
- •Глава 6. Структуры управления asp 59
- •Глава 5. Типы элементов ввода asp Практикум 5.1. Кнопки
- •Практикум 5.2. Текстовые поля
- •Практикум 5.3. Списки
- •Практикум 5.4. Переключатель radio button
- •Практикум 5.5. Флажок checkbox
- •Практикум 5.6. Создание анкеты приема на работу
- •Глава 1. Структура и синтаксис xml-документа 3
- •Глава 2. Дизайн документов xml 14
- •Глава 3. Xsl 26
- •Глава 5. Типы элементов ввода asp 49
- •Глава 6. Структуры управления asp 60
- •Глава 6. Структуры управления asp Практикум 6.1. Кнопки в действии
- •Практикум 6.2. Пример обработки некоторого текста
- •Практикум 6.3. Обработка списков, используя структуру перехода
- •Практикум 6.4. Обработка результатов переключателя radio button структурой перехода If Then Else
- •Практикум 6.5. Обработка элемента флажок checkbox
- •Практикум 6.6. Обработайте созданную вами анкету используя приемы рассмотренные в этом практикуме
Порядок выполнения
Узнав, что такое сценарии на стороне сервера и на стороне клиента и познакомившись с script host и script engine, мы можем перейти к изучению порядка выполнения.
Практикум – порядок выполнения
Сначала рассмотрим сценарий для написания десяти строк текста, некоторые из которых будут «чистым» HTML, другие – ASP (в тегах <% %>), а третьи – сценарием на стороне сервера VBScript (тег <SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>).
-
О
<HTML>
<HEAD>
<TITLE>Testing the Order of Execution</TITLE>
</HEAD>
<BODY BGCOLOR=WHITE>
Line 1: First HTML line<BR>
<% Response.Write "Line 2: First ASP line<BR>" %>
Line 3: Second HTML line<BR>
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Response.Write "Line 4: First server-side VBScript line<BR>"
</SCRIPT>
Line 5: Third HTML line<BR>
<% Response.Write "Line 6: Second ASP line<BR>"%>
Line 7: Fourth HTML line<BR>
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Response.Write "Line 8: Second server-side VBScript line<BR>"
</SCRIPT>
Line 9: Fifth HTML line<BR>
<% Response.Write "Line 10: Third ASP line<BR>"%>
</BODY>
</HTML>
ткройте текстовый редактор, создайте новый файл и введите следующий код:
Некоторые строки интерпретируются script host ASP, а другие – интерпретатором сценариев VBScript. Все десять строк пронумерованы, и для каждой указан метод, использовавшийся для ее написания.
-
Сохраните файл как ExecOrder1.asp в каталог Inetpub\wwwroot\BegASPFiles
-
Вернитесь в браузер и введите адрес http://my_server_name/BegaspFiles/ExecOrder.asp
Как это работает
В этом примере использовались три типа текста:
-
«Чистый» HTML – например, Line 1: First HTML line <BR>
-
ASP-код – например, <%Response.Write “Line 2: First ASP line <BR>”%>
-
Сценарий на стороне сервера в теге <Script> - например,
<SCRIPT LANGUAGE=JSCRIPT RUNAT=SERVER>
response.write ("Line 8: First server-side JScript line<BR>");
</SCRIPT>
Чтобы понять, почему строки идут именно в таком порядке, рассмотрим, в какой последовательности сервер обрабатывает различные элементы кода. У нас есть часть текста, которая вообще не обрабатывается сервером – это «чистый» HTML. Другие части используют ASP-команду Response.Write, которая позволяет записывать что-то в HTML-поток, посылаемый браузеру. Для нас важно различие между элементами второго и третьего типа и его влияние на порядок выполнения.
П
Line
1: First HTML line
Line 2: First ASP line
Line 3: Second HTML
line
Line 5: Third HTML line
Line 6: Second ASP line
Line
7: Fourth HTML line
Line 9: Fifth HTML line
Line 10: Third ASP
line
Line 4: First server-side VBScript line
Line 8: Second
server-side VBScript line
Строки 1, 2, 3, 5, 6, 7, 9, 10 в HTML-потоке идут в том же порядке, в каком они были введены. Это строки «чистого» HTML и ASP. Таким образом, можно вводить эти элементы в любом нужном нам порядке, и этот порядок сохранится. Это очень важно, и мы не раз воспользуемся этим преимуществом.
Кроме того, 4 и 8 были сначала пропущены, а затем приписаны в конце исходного текста. Это произошло потому, что сервер прорабатывает код дважды при формировании HTML, посылаемого браузеру. Первый раз он игнорирует все сценарии типа <SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>, но обрабатывает все остальное («чистый» HTML и ASP-код), затем возвращается к сценариям, интерпретирует их и приписывает результат в конец.
Посмотрите пример использования JSCRIPT, что измениться.
Код примера ExecOrder2.asp показан ниже:
<HTML> <HEAD> <TITLE>Testing
the Order of Execution</TITLE> </HEAD>
<BODY
BGCOLOR=WHITE> Line
1: First HTML line<BR> <%
Response.Write "Line 2: First ASP line<BR>" %>
Line
3: Second HTML line<BR> <SCRIPT
LANGUAGE=VBSCRIPT RUNAT=SERVER>
Response.Write "Line 4:
First server-side VBScript line<BR>" </SCRIPT> Line
5: Third HTML line<BR>
<%
Response.Write "Line 6: Second ASP line<BR>"%>
Line
7: Fourth HTML line<BR>
<SCRIPT
LANGUAGE=JSCRIPT RUNAT=SERVER>
response.write ("Line 8:
First server-side JScript line<BR>"); </SCRIPT>Line
9: Fifth HTML line<BR>
<%
Response.Write "Line 10: Third ASP line<BR>"%>
</BODY> </HTML>
Посмотрите результат.