Windows® Script Component files are XML (Extensible Markup Language) that are much like HTML files, but contain special elements that define the script component and its behavior. The elements used for defining script components are not HTML tags, but are XML elements specifically used for script component definitions.
A basic script component file contains these elements:
The <public> element is used to specify that a script component implements the COM Automation interface handler. Therefore, you don't need to create an <implements> element for the Automation handler.
Note The script component run-time includes interface handlers for Automation (exposed using the <public> element), for ASP, and for Internet Explorer 5.0 DHTML Behaviors. Other interface handlers are available as external DLLs. For more information about additional interface handlers and script components, see the Microsoft Scripting Technologies Web site.
Note If you are concerned that the .wsc files you create contain XML that conforms to XML standards, you can specify that the script component's XML parser check the XML syntax. For example, this is useful if you think you might someday use an XML editor to work with your files. Otherwise, however, it is not usually a concern. For more details, see Script Component Files and XML Conformance.
The following example illustrates how to construct a script component file.
<?XML version="1.0"?> <package> <?component error="true" debug="true"?> <comment> This skeleton shows how script component elements are assembled into a .wsc file. </comment> <component id="MyScriptlet"> <registration progid="progID" description="description" version="version" clsid="{00000000-0000-0000-000000000000}"/> <reference object="progID"> <public> <property name="propertyname"/> <method name="methodname"/> <event name="eventname"/> </public> <implements type=COMhandlerName id=internalName> (interface-specific definitions here) </implements> <script language="VBScript"> <![CDATA[ dim propertyname Function methodname() ' Script here. End Function ]]> </script> <script language="JScript"> <![CDATA[ function get_propertyname() { // Script here. } function put_propertyname(newValue) { // Script here. fireEvent(eventname) } ]]> </script> <object id="objID" classid="clsid:00000000-0000-0000-000000000000"> <resource ID="resourceID1">string or number here</resource> <resource ID="resourceID2">string or number here</resource> </component> </package>
Note In XML, you can specify elements without content (attributes only), such as the <property> and <method> elements in the previous example, by closing the element with />.
Note that:
<implements type="ASP" id="iASP">
The exact elements that appear inside an <implements> element depend on what interface you are implementing.
Note The <implements> element is shown here with an id attribute. However, this attribute is optional, except in cases where you must disambiguate objects or variables. For details, see the <implements> element.
After creating the skeleton, fill in the elements to define the script component's functionality, depending on which interface handler you are implementing.
Checking For Errors in Script Component Files | Creating a Script Component Type Library | Creating Registration Information | Exposing Events | Exposing Methods | Exposing Properties | Implementing ASP Script Components | Implementing DHTML Behavior Script Components | Script Component Files and XML Conformance | Using the Script Component Wizard