Представленная в листинге 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, более подробно.

Элементы WS-файла

В WS-файл можно вставлять комментарии независимо от разметки XML. Сделать это можно двумя способами: с помощью элемента <!-- --> или элемента <comment>. Например:

<!-- Первый комментарий -->

или

<comment>

Второй комментарий

</comment>

Элементы <?xml?> и <![CDATA[]]>

Эти элементы являются стандартными для разметки W3C XML 1.0. В сценариях WSH они определяют способ обработки WS-файла. Всего существует два режима обработки сценария: нестрогий (loose) и строгий (strict).

При нестрогой обработке (элемент <?xml?> отсутствует) не предполагается выполнение всех требований стандарта XML. Например, не требуется различать строчные и заглавные буквы и заключать значения атрибутов в двойные кавычки. Кроме этого, в процессе нестрогой обработки считается, что все содержимое между тегами <script> и </script> является исходным кодом сценария. Однако при таком подходе может произойти ошибочная интерпретация вложенных в сценарий зарезервированных для XML символов или слов как разметки XML. Например, имеющиеся в коде сценария знаки 'меньше' (<) и 'больше' (>) могут привести к прекращению разбора и выполнения сценария.

Для того чтобы задать режим строгой обработки сценария, нужно поместить элемент <? xml?> в самой первой строке сценария — никаких других символов или пустых строк перед ним быть не должно. При такой обработке WS-файла нужно четко следовать всем правилам стандарта XML. Код сценария должен быть помещен в секцию CDATA, которая начинается с символов '<![CDATA[' и заканчивается символами ']]>'.

Замечание

В WSH 5.6 названия и значения атрибутов в элементе <?xml?> должны быть именно такими, как в листинге 3.1 (version='1.0' и standalone='yes').

Элемент <?job?>

Элемент <?job?> задает режим отладки при выполнении WS-файла. Если значение атрибута debug равно true, то задание может быть выполнено во внешнем отладчике (см. приложение 3). Если же значение атрибута debug равно false, то отладчик для этого задания применен быть не может. По умолчанию debug имеет значение false.

Элемент <package>

Этот элемент необходим в тех WS-файлах, в которых с помощью элементов <job> определено более одного задания. В этом случае все эти задания должны находиться внутри пары тегов <package> и </package> (см.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату