スクリプト コンポーネント ファイルと XML 適合性

Windows®スクリプト コンポーネントは XML ファイルであり、ファイル内での要素は XML Version 1.0 の規約に従って定義します。XML 要素は表面上 HTML タグに似ていますが、XML は、より厳密に定義されたプロトコルです。たとえば、要素名の大文字と小文字は、区別して扱われます。

スクリプト コンポーネントの作成を簡単にするために、スクリプト コンポーネント ランタイム (Scrobj.dll) では、ファイル内に記述されている XML をどの程度厳密に解釈するかを指定できます。スクリプト コンポーネントの XML に対して、HTML のタグと同じ程度の緩やかな解釈を行うように指定することもできます。

スクリプト コンポーネント ファイルに対して XML 検査を指定し、スクリプト コンポーネント ファイルの XML が XML 標準に厳密に従っているかどうかをチェックすることもできます。スクリプト コンポーネントを編集するために将来 XML 編集ツールを使用する予定があれば、XML 検査を設定してください。

XML 検査を指定する場合は、スクリプト コンポーネント ファイルが次の規則に従っていることを確認してください。

  • 要素と属性の名前の大文字と小文字を区別する。要素と属性の名前は、internalName など、複数の名前を連結した名前を除いて、通常すべて小文字で記述します。XML 標準に厳密に従う XML ファイルでは、すべての名前が名前付け規則に正確に従っている必要があります。

  • 属性値をクォーテーションで囲む。属性の値は、シングル クォーテーションまたはダブル クォーテーションで囲む必要があります。たとえば、XML 検査を行わない場合は、<script> 要素内で language=JScript と指定できます。しかし、XML 規則に従うと、同じ属性は language="JScript" と指定する必要があります。

  • スクリプト要素内の予約文字を隠蔽する。スクリプトの要素には、< (より大きい)、> (より小さい)、& (アンパサンド)、および XML で予約されているその他の文字が、多数含まれています。XML 対応のファイルを作成する場合は、これらの予約文字が多数存在していても、XML パーサーが正常に動作することを確認する必要があります。この場合、エスケープ シーケンス (たとえば、"&lt;" で "<" を指定します) を使用してそれぞれの文字をマークしたり、スクリプトの要素全体を <![CDATA[ ...]]> セクションで囲んで隠蔽したりすることができます。XML 検査を行わない場合、スクリプト コンポーネントの XML パーサーは、既定で <script> 要素を隠蔽します。

    メモ   厳密な XML 解析を指定しない場合は、CDATA セクションをスクリプトに含めないでください。CDATA セクションが含まれていると、スクリプト コンポーネントを登録するときや、スクリプト コンポーネントのインスタンスを作成するとき、スクリプト コンポーネントを呼び出すときにエラーが発生します。

XML 標準の詳細については、XML specification Web サイトおよび Microsoft® XML Web サイトを参照してください。

XML 適合性を指定するには

  • ファイルの最初の要素として <?XML ?> 宣言を記述します。

    <?XML version="1.0" ?>
    

    メモ    Script Component Wizard を使用してスクリプト コンポーネントを作成する場合は、<?XML ?> 宣言がファイルに追加されます。したがって、スクリプト コンポーネントの XML は厳密に解析されます。

<?XML ?> を指定しない場合、スクリプト コンポーネント ランタイムによる XML 検査は行われません。また、XML エディタを使用したファイルの編集ができなくなる可能性があります。

参照

スクリプト コンポーネント ファイルの内容 | Script Component Wizard の使用 | スクリプト コンポーネント ファイルのエラー チェック