Схема WS XML
Схема WS XML
Синтаксис элементов, составляющих структуру WS-файла, в общем виде можно представить следующим образом:
<element [attribute1="value1" [attribute2="value2" ... ]]>
Содержимое (content)
</element>
Открывающий тег элемента состоит из следующих компонентов:
? открывающей угловой скобки "<";
? названия элемента, написанного строчными буквами;
? необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);
? закрывающей угловой скобки ">".
Например, тег начала элемента
<script language="JScript">
имеет имя тега script и определяет атрибут language со значением "JScript". Атрибуты предоставляют дополнительную информацию о соответствующем теге или последующем содержимом элемента. В нашем примере атрибут указывает на то, что содержимым элемента является текст сценария на языке JScript.
Закрывающий тег элемента состоит из следующих компонентов:
? открывающей угловой скобки "<";
? символа "/";
? названия элемента, написанного строчными буквами;
? закрывающей угловой скобки ">".
Таким образом, тег конца элемента не имеет атрибутов, например, </script>.
Если у элемента нет содержимого, то он имеет следующий вид:
<element [attribute1="value1" [attribute2="value2" ... ]]/>
To есть в этом случае элемент состоит из следующих компонентов:
? открывающей угловой скобки "<";
? названия элемента, написанного строчными буквами;
? необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);
? символа"/";
? закрывающей угловой скобки ">".
Пример такого элемента:
<script language="JScript" src="tools.js"/>
Представленная в листинге 3.1 схема WS XML — это модель данных, определяющая элементы и соответствующие атрибуты, а также связи элементов друг с другом и возможную последовательность появления элементов. Также эта схема может задавать значения атрибутов по умолчанию.
Листинг 3.1. Схема WS XML
<?xml version="1.0" standalone="yes"?>
<package>
<job [id="JobID"]>
<?job debug="true|false"?>
<runtime>
<named name="NamedName" helpstring="HelpString" type="string|boolean|simple" required="true|false" />
<unnamed name="UnnamedName" helpstring="HelpString" many="true|false" required="true|false" />
<description> Описание сценария </description>
<example> Пример запуска сценария </example>
</runtime>
<resource id="ResourceID"> Строка или число </resource>
<object id="ObjID" [classId="clsid:GUID"|progid="ProgID"]/>
<reference [object="ProgID" | guid=""typelibGUID"] [version="version"]/>
<script language="language" [src="strFileURL"]>
<script language="language" >
<![CDATA[
Код сценария
]]>
</scriipt>
</job>
Другие задания
</package>
Таким образом, из листинга 3.1 видно, что:
? элемент <package> может содержать один или несколько элементов <job>;
? элемент <job> может содержать один или несколько элементов <runtime>, <resource>, <object>, <reference> или <script>;
? элемент <runtime> может содержать один или несколько элементов <named> и <unnamed>, а также элементы <description> и <example>.
Обязательными для создания корректного сценария являются только элементы <job> и <script>. Сам код сценария всегда располагается внутри элемента <script>.
Опишем теперь элементы XML, использующиеся в сценариях WSH, более подробно.