? поддерживаются вложенные файлы;
? возможен доступ из сценария к внешним мнемоническим константам, которые определены в библиотеках типов используемых объектов ActiveX;
? в одном WS-файле можно хранить несколько отдельных, независимых друг от друга, сценариев;
? сценарий становится самодокументируемым, т.е. вывод информации об использовании сценария и его синтаксисе происходит автоматически.
Понятно, что для обеспечения новых возможностей необходимо иметь больше информации, чем ее может предоставить отдельный сценарий. В самом файле сценария должна присутствовать некоторая дополнительная информация, скажем, имя этого сценария (подобная информация содержится, например, в заголовках HTML-страниц). Другими словами, для сценариев WSH должен использоваться уже некий специальный формат, а не просто отдельные js- или vbs-файлы. В качестве такого формата разработчики Microsoft выбрали язык XML — Extensible Markup Language, который уже использовался ими для определения информационной модели в технологии WSC — Windows Script Components, которая позволяет с помощью языков сценариев создавать и регистрировать полноценные СОМ-объекты.
Таким образом, теперь сценарии WSH не просто содержат в текстовом виде ActiveX-совместимый сценарий, а являются XML-приложениями, поддерживающими схему WS XML — Windows Script XML, которая, в свою очередь, опирается на схему WSC XML. Поэтому для понимания двух технологий (WSC и WSH) достаточно освоить одну схему XML.
WS-файл рассматривается сервером сценариев как файл с разметкой XML, который должен соответствовать схеме WS XML. Новый тип файла и формат XML обеспечивают более мощную среду для написания сценариев.
Для того чтобы использовать язык XML в сценариях WSH, вовсе не обязательно вникать во все тонкости этого языка, однако основные принципы XML понимать, конечно, нужно.
Основные принципы XML
Проявляемый в настоящее время большой интерес к языку XML объясняется тем, что он предоставляет возможности, позволяющие в текстовой форме описывать структурированные данные. Точнее говоря, XML является метаязыком для создания различных языков разметки, которые способны определять произвольные структуры данных — двоичные данные, записи в базе данных или сценарии. Прежде всего, XML используется в Internet- приложениях при работе браузеров, которые отображают информацию, находящуюся на Web-серверах. При этом пользователю отдельно передаются данные в виде XML-документа, и отдельно — правила интерпретации этих данных для отображения с помощью, например, языков сценариев JScript или VBScript.
Как и HTML, XML является независимым от платформы промышленным стандартом. Полные спецификации XML и связанных с ним языков доступны на официальной странице консорциума W3C — World Wide Web Consortium по адресу http://www.w3c.org/xml.
Внешне XML-документ похож на HTML-документ, т.к. XML-элементы также описываются с помощью
? документ XML состоит из элементов разметки (markup) и непосредственно данных (content);
? все XML-элементы описываются с помощью тегов;
? в заголовке документа с помощью специальных тегов помещается дополнительная информация (используемый язык разметки, его версия и т.д.);
? каждый открывающий тег, который определяет область данных, должен иметь парный закрывающий тег (в HTML некоторые закрывающие теги можно опускать);
? в XML, в отличие от HTML, учитывается регистр символов;
? все значения атрибутов, используемых в определении тегов, должны быть заключены в кавычки;
? вложенность элементов в документе XML строго контролируется.
Рассмотрим теперь структуру и синтаксис WS-файлов, использующих схему WS XML.
Схема WS XML
Синтаксис элементов, составляющих структуру WS-файла, в общем виде можно представить следующим образом:
<element [attribute1='
Содержимое (content)
</element>
Открывающий тег элемента состоит из следующих компонентов:
? открывающей угловой скобки '<';
? названия элемента, написанного строчными буквами;
? необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);
? закрывающей угловой скобки '>'.
Например, тег начала элемента
<script language='JScript'>
имеет имя тега script
и определяет атрибут language
со значением 'JScript
'. Атрибуты предоставляют дополнительную информацию о соответствующем теге или последующем содержимом элемента. В нашем примере атрибут указывает на то, что содержимым элемента является текст сценария на языке JScript.
Закрывающий тег элемента состоит из следующих компонентов:
? открывающей угловой скобки '<';
? символа '/';
? названия элемента, написанного строчными буквами;
? закрывающей угловой скобки '>'.
Таким образом, тег конца элемента не имеет атрибутов, например, </script>
.
Если у элемента нет содержимого, то он имеет следующий вид:
<element [attribute1='
To есть в этом случае элемент состоит из следующих компонентов:
? открывающей угловой скобки '<';
? названия элемента, написанного строчными буквами;
? необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);
? символа'/';
? закрывающей угловой скобки '>'.
Пример такого элемента:
<script language='JScript' src='tools.js'/>