<component> 要素
Windows スクリプト コンポーネントの定義全体を囲みます。
<component id=componentid>
ここにスクリプト コンポーネントの情報を記述します。
</component>
値
componentid
スクリプト コンポーネントを一意に識別する文字列を指定します。この値が役立つのは、1 つのドキュメントに複数のスクリプト コンポーネントが含まれている場合と、複数のスクリプト コンポーネントに対して 1 つのタイプ ライブラリを生成する場合です。識別子の先頭は必ず文字で始め、識別子内にスペースを入れることはできません。スクリプト コンポーネントのパッケージ内では、識別子は一意である必要があります。コンポーネント ID を指定した場合、この値は、スクリプト コンポーネントのクラス名としてホスト アプリケーションで機能します。たとえば、<component> 要素内でコンポーネント ID に "MyComponent" を指定すると、Visual Basic のオブジェクト ブラウザでは、スクリプト コンポーネントはクラス MyComponent として識別されます。コンポーネント ID を指定しない場合の既定値は、ComponentCoClass です。
解説
スクリプト コンポーネント ファイルでは、スクリプト コンポーネントの定義全体 (<registration> 要素、<public> 要素、<implements> 要素などを含む) を、<component> 要素の内側に指定する必要があります。ファイルに複数のスクリプト コンポーネントが含まれている場合は、それらのスクリプト コンポーネントを <package> 要素の内部に記述しなければなりません。
例
次のコードは、factorial メソッドと name プロパティを含む、単純かつ完全なスクリプト コンポーネントの例です。
メモ <script> 要素内のスクリプトを隠蔽するには、CDATA セクションが必要です。詳細については、「スクリプト コンポーネント ファイルと XML 適合性」を参照してください。
<?XML version="1.0"?>
<component>
<registration>
description="My Test Component"
progid="Component.TestScript"
version="1"
classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"
</registration>
<public>
<property name="name"/>
<method name="factorial"/>
</public>
<script language="VBScript">
<![CDATA[
Function factorial(n)
If isNumeric(n) Then
If n <= 1 Then
factorial = 1
Else
factorial = n*factorial(n-1)
End If
Else
factorial = -2 ' エラー コード
End If
End Function
]]>
</script>
</component>