スマートタグを Web ページに追加する

サンプル コードのダウンロード サンプル (odc_stwebpages.exe) のダウンロード

Paul Cornell
Microsoft Corporation

July 2001
日本語版最終更新日 2001 年 11 月 6 日

MSDN Code Center から ODC_STWebPages.exe サンプル ファイルをダウンロードしてください。

概要: この記事は、Web ページでスマート タグが認識されるようにする方法を説明しています。

目次

はじめに
この記事で使用する用語
スマート タグ名前空間 URI の宣言と使用方法
スマート タグの種類の宣言と使用方法
スマート タグ OBJECT エレメントの挿入
スマート タグ エレメント ビヘイビアの宣言
スマート タグが用語を認識するようにする
ソリューション : スマート タグを Web ページに追加する
まとめ

はじめに

従来 Web ページは、ハイパーリンクに依存して、 テキストをファイル システム、Web サーバー、または電子メール サーバー上にある個別のリソースと関連付けていました。MicrosoftR Office XP に導入されたスマート タグを使用すると、 複数のリソースだけでなく、カスタム アプリケーションとの関係も含むショートカット メニューにテキストを関連付けることで、 このようなハイパーリンク以上の機能を実現することができます。

スマートタグを Web ページに追加するには、 メモ帳などのテキスト エディタか Microsoft FrontPageR Version 2002 などの HTML エディタを使用します。 スマート タグを表示するユーザーは、コンピュータに OfficeXP、Microsoft Internet Explorer 5.01 以降、 および適切なスマート タグ DLL (ダイナミック リンク ライブラリ) またはスマート タグ リストをインストールしている必要があります。 スマート タグ DLL およびスマート タグ リストを作成、配布、および登録する方法については、この記事で説明していません。 スマート タグ DLL およびスマート タグ リストの作成、配布、および登録の詳細については、 記事「スマート タグ DLL の開発」、 「スマート タグ リストの開発」、 および「Visual Studio Installer を使用したスマート タグ DLL の配布」、 または Office XP Developer に収録のスマートタグ SDK (Software Development Kit) をご覧ください。

スマート タグを Web ページに追加する方法について理解するには、 以下の概念をよく理解している必要があります。 これらの概念については、以下のセクションで説明します。

  • スマート タグ名前空間 URI の宣言と使用方法
  • スマート タグの種類の宣言と使用方法
  • スマート タグ OBJECT エレメントの挿入
  • スマート タグ エレメント ビヘイビアの宣言
  • スマート タグが用語を認識するようにする

この記事で使用する用語

上記の概念について理解するには、この記事で使用する用語について理解している必要があります。

  • 名前空間 URI
    名前空間 URI (Uniform Resource Indicator) は、 1 つの論理カテゴリに属する XML タグのグループを一意に識別するための XML の構成要素です。 たとえば、urn:schemas-microsoft-com:moneycentral などの名前空間 URI があります。 ここで、文字列 urn: は、 この名前空間 URI を URI の一種である URN (Uniform Resource Name) として指定するために使用されています。
  • スマート タグの種類
    一意な名前空間 URI にそのタグ名を追加したものです。 # 文字が名前空間 URI に付加され、 名前空間 URI とタグ名を区別するために使用されます。 たとえば、urn:schemas-microsoft-com:moneycentral#StockTickerSymbol などのスマート タグの種類があります。
  • タグ名
    名前空間 URI のプロパティです。 たとえば、StockTickerSymbol です。

次に Web ページにスマートタグを追加するための概念について説明しましょう。

スマート タグ名前空間 URI の宣言と使用方法

スマート タグを Web ページに追加するには、 まず Web ページ内で Office 名前空間 URI を宣言する必要があります。 その後、1 つ以上のスマート タグ名前空間 URI を Web ページの HTML エレメントで宣言します。 xmlns: の後にエイリアス、等号、 名前空間 URI が順に続く文字列を使用して、 Office 名前空間 URI とスマート タグ名前空間 URI 用のエイリアスも提供する必要があります。 たとえば、次の名前空間 URI の宣言は、 エイリアス o を使用して、 Office 名前空間 URI を表す名前空間 URI urn:schemas-microsoft-com:office:office を表します。 この宣言は、次に示すように正確に入力する必要があります。

xmlns:o="urn:schemas-microsoft-com:office:office"

同様に、次の名前空間 URI の宣言は、 エイリアス odc を使用して、 ユーザー定義の名前空間 URI urn:msdn-microsoft-com:odc-st を表します。

xmlns:odc="urn:msdn-microsoft-com:odc-st"

ドキュメントでは、必要な数のエイリアスの一意性に保証するために、 ユーザー定義の名前空間 URI をいくつでも使用できます。 ただし、urn:schemas-microsoft-com:office:office 以外の名前空間 URI は、 ユーザーのコンピュータにインストールされ、 登録されているスマート タグ アクション DLL や スマート タグ XML リスト記述ファイルに含まれている名前空間 URI と完全に一致している必要があります。 たとえば、あるスマート タグ の種類が、 スマート タグ アクション DLL の ISmartTagAction_SmartTagName プロパティで urn:schemas-microsoft-com:smarttags#msdnterms として宣言されているか、 またはスマート タグ リストで smarttag エレメントの type 属性の値として宣言されている場合、 Web ページで名前空間 URI を # 記号より前の文字と同じように宣言する必要があります。 この例では、urn:schemas-microsoft-com:smarttags です。 実行時に、Office XP はスマート タグ アクションを関連づけるために、 Web ページの名前空間 URI urn:schemas-microsoft-com:smarttags を、 ユーザーのコンピュータ上にあるすべてのスマート タグ DLL とスマート タグ リストで urn:schemas-microsoft-com:smarttags として定義されている名前空間 URI と一致させようとします。Office XP が名前空間 URI を一致させられない場合、 そのスマート タグの種類に関連付けられているスマート タグ アクションは呼び出されません。

スマート タグの種類の宣言と使用方法

スマート タグ名前空間 URI を宣言に続いて、 Web ページでのスマート タグの種類ごとにスマート タグの種類を 1 つ宣言する必要があります。 この宣言には、タグ名、関連付けられた名前空間 URIなどのプロパティを含みます。 さらに、関連するスマート タグDLL またはスマート タグ リストがユーザーのコンピュータにインストールされていない場合に、 これらのファイルをダウンロードする URL を含みます。 次にサンプル スマート タグの種類の宣言の例を示します。

<o:SmartTagType
    name="msdnterms"
    namespaceuri="urn:schemas-microsoft-com:smarttags"
    downloadurl="https://localhost/smarttags/download.asp">
</o:SmartTagType>

スマート タグの種類の宣言は、 Web ページの HTML に TITLE エレメントが存在する場合は TITLE エレメントの後に、 TITLE エレメントが存在しない場合は HEAD エレメントの開始タグの後に配置されます。 以下にスマート タグの種類の宣言の構文を示します。

アイテム/属性 説明
o: Office 名前空間 URI urn:schemas-microsoft-com:office:office を表すプレフィックスです。
SmartTagType スマート タグの種類の宣言で必要なルート エレメントです。
name スマート タグの種類のタグ名を表す必須属性です。 この属性は、スマート タグ アクション DLL の ISmartTagAction_SmartTagName プロパティの値、 またはスマート タグ リストの smarttag エレメントの type 属性の値で # 記号の後に続く文字列と一致する必要があります。 たとえば、 ISmartTagAction_SmartTagName プロパティ (または smarttag エレメントの type 属性) の値が urn:schemas-microsoft-com:smarttags#msdnterms である場合、 name 属性は msdnterms になります。
namespaceuri スマート タグの種類の名前空間 URI を表す必須属性です。 この属性値は、先行する HTML エレメントで宣言されている名前空間 URI のいずれかと一致する必要があります。 指定した Web ページの各スマート タグの種類は、 namespaceuri 属性に一意な値を持つ必要があります。
downloadurl 関連するスマート タグ DLL またはスマート タグ リストのダウンロード元 URL を表す省略可能な属性です。 この属性を指定しない場合、 関連するスマート タグ DLL またはスマート タグ リストは既にユーザーのコンピュータにインストールされ、 登録されている必要があります。 登録されていない場合、関連する [スマート タグ動作] ボタンをクリックしたときにアクションは何も表示されず、 [スマート タグ動作] メニューの [新しい動作の確認] をクリックしても何も起こりません。

スマート タグ OBJECT エレメントの挿入

[スマート タグ オプション] ボタンを適切に Web ページに表示するには、 次の OBJECT エレメントを Web ページの HTML (できれば HEAD エレメント) に以下のように追加する必要があります。

<OBJECT
    classid ="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui>
</OBJECT>

classid 属性と id 属性は、 OBJECT エレメントに上記に示すように正確に示される必要があります。

スマート タグ エレメント ビヘイビアの宣言

Internet Explorer 5 以降では、特定のエレメントの既定の動作を強化するために DHTML (ダイナミック HTML) ビヘイビアが使用されます。 Office XP は、スマート タグ名前空間 URI を DHTML ビヘイビアに関連付ける DLL を提供します。 この関連付けは、 Web ページの HTML コードで適切にスマート タグのショートカット メニューをアクティブにするために必要です。 たとえば、次の DHTML ビヘイビアは OBJECT エレメントの [スマート タグ オプション] ボタンを odc: で始まるすべてのエレメントと関連付けます。

<STYLE>
    odc\:*{behavior:url(#ieooui)}
</STYLE>  

この例では、odc はそれ以前に宣言されたエイリアスにマップされ、 ieoouiOBJECT エレメントの id 属性にマップされます。

スマート タグが用語を認識するようにする

スマート タグを Web ページに追加するための最後の手順です。 Web ページ上に存在するどの用語が [スマート タグ オプション] ボタンを表示するかを指定する必要があります。 これらの用語を指定するには、 Web ページ上に存在する各用語をスマート タグ エイリアス/タグ名のエレメントで囲みます。 このエレメントは、スマート タグ エイリアスの後にコロン、タグ名が続く形式を使用します。 たとえば、スマート タグのエイリアスが odc で、 タグ名が msdnterms で、スマート タグとして動作可能な用語が MSDN である場合、 スマート タグ エイリアス/タグ名のエレメントは odc:msdnterms のようになり、 HTML では <odc:msdnterms>MSDN</odc:msdnterms> のようにコーディングすることになります。

ソリューション : スマート タグを Web ページに追加する

スマート タグを Web ページに追加するために必要なエレメントについて簡単に復習しましょう。 Web ページの HTML コードは以下の項目を含んでいる必要があります。

  • Office 名前空間 URI の宣言。
  • Web ページのスマート タグの種類ごとのスマート タグ名前空間 URI 宣言。
  • Web ページのスマート タグの種類ごとのスマート タグの種類の宣言。
  • スマート タグ OBJECT エレメント。
  • Web ページのスマート タグ名前空間 URI ごとのスマート タグ エレメント ビヘイビアの宣言。
  • [スマート タグ オプション] ボタンに表示するすべての用語を、 適切なスマート タグ エイリアス/タグ名のエレメント内に含める必要があります。

これらすべての情報をひとまとめにして Web ページにスマート タグを追加できるようになります。

この記事のサンプル ダウンロードには 4 つのファイルが含まれており、 1 つの Web ページ用の簡単なスマート タグ ソリューションが含まれています。

  • msdnwebsites.xml。簡単なスマート タグ リスト。
  • MSDN Web Sites.msi。このファイルを開くと、 コンピュータの C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists フォルダに msdnwebsites.xml ファイルがインストールされます。
  • beforesmarttags.htm。スマート タグを追加する前の HTML コードを示すファイルです。
  • aftersmarttags.htm。スマート タグを追加した後の HTML コードを示すファイルです。

このソリューションを検証およびテストするには、 msdnwebsites.xml ファイルをコンピュータの C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists フォルダに保存します (または MSDN Web Sites.msi ファイルを開きます)。beforesmarttags.htm ファイルの HTML コードと aftersmarttags.htm ファイルの HTML コードと比較してみてください。

スマート タグのビヘイビアをテストするには、 aftersmarttags.htm ファイルで紫色の下線がある言葉にマウス ポインタを置き、 [スマート タグ オプション] ボタンをクリックします。 [スマート タグ オプション] ボタンで、利用できるアクションのいずれかをクリックします。

msdnwebsites.xml ファイルと aftersmarttags.htm ファイルのコードを使用して、 独自の簡単なスマート タグ XML リスト記述ファイルとスマート タグを認識する Web ページを作成してみてください。

まとめ

メモ帳などのテキスト エディタや FrontPage Version 2002 などの HTML エディタを使用して、 Web ページがスマート タグを認識するようにできます。 ユーザーがコンピュータに Office XP と適切なスマート タグ DLL またはスマート タグ リストをインストールしていると、 適切にタグで囲まれている用語で、[スマート タグ オプション] ボタンと関連するアクションが Web ページで利用できます。