<component>
, <registration>
, <public>
и <script>
.
Опишем теперь элементы XML, использующиеся в WSC-файлах, более подробно.
Элементы WSC-файла
В WSC-файлы можно вставлять комментарии двумя разными способами: с помощью элемента <!-- -->
или элемента <comment>
. Например:
<!-- Первый комментарий -->
или
<comment>
Второй комментарий
</comment>
Элементы
Напомним, что эти элементы являются стандартными для разметки W3C XML 1.0<?xml?>
указать атрибут encoding
со значением, соответствующим используемой кодировке, например:
<?xml version='1.0' encoding='windows-1251'?>
Элемент <
Этот элемент необходим в тех WSC-файлах, в которых с помощью элементов <component>
определено более одного компонента. В этом случае <package>
является контейнером для элементов <component>
.
Если же в WSC-файле описан только один компонент, то элемент <package>
можно не использовать.
Элемент
Внутри элемента <component>
описывается один компонент-сценарий (СОМ- объект). Необязательный атрибут id
определяет идентификатор объекта (это может понадобиться в том случае, когда в одном WSC-файле находится несколько СОМ-объектов).
Элемент
В элементе <registration>
приводится информация, которая необходима для регистрации в системе компонента-сценария в качестве СОМ-объекта.
Атрибуты progid
и classid
задают соответственно программный идентификатор и глобальный код, с помощью которых компонент-сценарий может быть использован в других приложениях (например, progid='MyClass.MyObject'
и classid='{424ac2bc-5732-4dea-be17-0211af99cd79}'
). Из этих двух атрибутов обязательно должен быть указан хотя бы один (можно указать и оба). Если в элементе <registration>
приведен только атрибут progid
, то глобальный код (GUID) для описываемого объекта будет сгенерирован автоматически при регистрации объекта в системе. Рекомендуется, однако, явно указывать глобальный код объекта, т.к. в противном случае этот код может оказаться различным при регистрации объекта на разных машинах.
Глобальный код объекта может быть сгенерирован с помощью описанной ниже программы Windows Script Component Wizard.
С помощью атрибута description
можно задать краткое описание объекта, которое будет занесено в системный реестр при регистрации объекта.
Атрибут version
позволяет указать номер версии описываемого объекта. Этот номер позволяет запрашивать из приложения определенную версию СОМ-объекта (он должен быть указан через точку после программного идентификатора объекта, например 'Myclass.MyObject.1'
).
С помощью элемента <script>
внутри контейнера <registration>
можно указать две функции, одна из которых будет вызываться при регистрации объекта в системе (эта функция должна иметь имя Register()
), а другая — при удалении объекта из системы (эта функция должна иметь имя Unregister()
).
Элемент
В элементе <public>
описываются те свойства, методы и события объекта, которые после его регистрации будут доступны извне другим приложениям (клиентам автоматизации). Другими словами, этот элемент является контейнером для элементов <property>
, <method>
и <event>
.
Элемент
Элемент <property>
объявляет свойство СОМ-объекта, которое будет доступно для клиентов автоматизации.
Атрибут name
определяет имя этого свойства (в дальнейшем внутри элемента <script>
должна быть объявлена глобальная переменная с тем же именем, с помощью которой можно будет изменять значение свойства). Объявляемое свойство может быть доступно либо только для чтения (внутри контейнера <property>
указан только элемент <get>
), либо только для записи (внутри <property>
указан только элемент <put>
), либо и для чтения и для записи (внутри <property>
указаны как элемент <get>
, так и элемент <put>
).
Атрибут internalName
в элементах <get>
и <put>
задает имена функций, которые будут использоваться для чтения и записи