IIS 7.0 用 Web プレイリスト - XSLT を使用した出力形式の拡張

発行日: 2008 年 9 月 12 日 (発行者: vsood (英語))

更新日: 2009 年 9 月 9 日 (作業者: vsood (英語))

必要条件

  • ここでは、XSL 変換 (XSLT) スタイル シートの知識があることを前提としています。 XSLT スタイル シートの記述に関して、構文や技術的な内容の詳しい説明は省略します。
  • IIS Media Services 2.0 の Web プレイリストがインストールされている必要があります。 詳細については、Web プレイリストの Readme (英語) で、インストールに関する注意 (Installation Notes) をお読みください。

XSL 変換とは

W3C の仕様 (英語) によると、XSL は次のように定義されています。

*「XSL は、XML 文書の変換と表現を定義するための推奨事項を集めたファミリです。 次の 3 つの部分で構成されます。

XSL Transformations(英語)(XSLT) -  a language for transforming XML (XSL 変換 (XSLT) - XML を変換するための言語)
XML パス言語(英語) (XPath) - XSLT で、XML 文書の各部にアクセスしたり参照するために使用される式言語 (XPath は、XML リンク仕様でも使用されます)。
XSL 書式設定オブジェクト(英語) (XSL-FO) - 書式設定のセマンティクスを指定するための XML ボキャブラリ*

XSLT スタイルシートでは、XML 文書のクラスの表現方法を指定します。つまり、クラスのインスタンスを、(X)HTML、XSL-FO のような書式設定ボキャブラリを使用する XML 文書へと変換する方法を記述します。XSL の機能のしくみに関する詳細については、「XSL とは何か (英語)」のページを参照してください。」

XSL 変換の記述

XSLT の記述方法は、XML ファイルの記述方法に似ています。 いつも使用しているエディターを使用して、簡単に記述することができます。 Expression Web および Visual Studio では、IntelliSense 機能を使用して XSLT ファイルを作成することができます。

Visual Studio での XSLT の作成

[ファイル] メニューの [新しいファイル] をクリックし、次の図に示すように [XSLT] を選択します。

Ee890795.walk1(ja-jp,TechNet.10).jpg

ATOM XSLT の記述

ステップ 1: atom.xslt という名前の空の XSLT ファイルを作成する

Visual Studio で、新しい XSLT ファイルを作成し、atom.xslt という名前を付けます (他の名前でもかまいません。以下ではこの名前を使って説明します)。

ステップ 2: ASX 形式について理解する

既定では、Web プレイリストの出力は ASX XML です。 このため atom.xslt ファイルで実際に行われるのは ASX 出力から ATOM への変換です。 atom.xslt の記述を始めるには、ASX 形式の知識が必要です。以下は ASX 形式の例です。Web プレイリストで出力される ASX の詳細については、「単純なプレイリストの作成」を参照してください。

ASX の例

<ASX VERSION="3.0">
    <TITLE>Hello Playlist!</TITLE>
    <PARAM NAME="LastModified" VALUE="2008-09-09T16:24:37Z" />
    <AUTHOR>IIS Team</AUTHOR>
    <ENTRY>
        <PARAM NAME="CANSKIPFORWARD" VALUE="NO"/><TITLE>Advertisement</TITLE>
        <REF href="http://iismp-demo/file.isx?sessionId=261276a9-99c2-4af6-b81d-47e88b7ce18c;entryId=1" />
        <DURATION VALUE="00:00:05" />
    </ENTRY>
    <ENTRY>
        <TITLE>Die Hard Preview</TITLE>
        <REF href="http://iismp-demo/file.isx?sessionId=261276a9-99c2-4af6-b81d-47e88b7ce18c;entryId=2" />
        <COPYRIGHT>IIS Media Services</COPYRIGHT>
    </ENTRY>
    <ENTRY>
        <TITLE>George Preview</TITLE>
        <REF href="http://iismp-demo/file.isx?sessionId=261276a9-99c2-4af6-b81d-47e88b7ce18c;entryId=3" />
    </ENTRY>
    <ENTRY>
        <TITLE>Remote Preview</TITLE>
        <REF href="http://iismp-demo/file.isx?sessionId=261276a9-99c2-4af6-b81d-47e88b7ce18c;entryId=4" />
    </ENTRY>
</ASX> 

ステップ 3: ATOM 用の XSL 変換を記述する

XSLT 構文はこのチュートリアルの範疇ではありませんが、XSLT の例については、こちら (atom.zip) からもダウンロードできます。

メモ   このコードを自由に変更して、理解に役立ててください。 サポートされているサンプルではないため、不具合が生じる場合もあります。

ATOM 出力用の Web プレイリストの構成

次に、Web プレイリストから ATOM Web フィード出力を取得開始できるように、Web サーバーに同じ構成を行います。 手順は次のとおりです。

ステップ 1: Web サーバーのサイト ルート以下のパスに atom.xslt をアップロードする

ここでは、ファイルをサイト ルートにアップロードするものとします (例: /atom.xslt)。

ステップ 2: IIS マネージャーで出力形式を構成する

IIS マネージャーで、サイトの [プレイリスト] アイコンをクリックし、[出力形式の構成] をクリックします。 次に、[出力形式の追加] ダイアログ ボックスで、新しい出力形式用のエントリを追加します。

重要 [XSLT パス] には、XSLT ファイルへのパスを、サイト ルートに対する相対パス (例: 文字 "/" で始まるパス) で指定してください。そうしないと、Web プレイリストではパスが認識されません。

Ee890795.walk3(ja-jp,TechNet.10).jpg 

クライアントからの新しい出力形式へのアクセス

新しい出力形式には、次の構文でアクセスします。

http://サイト/プレイリスト名.isx**?format=<形式名>** (例: https://contoso.com/file.isx**?format=atom**)

<形式名> には、この出力形式を構成する際、IIS マネージャーで指定した形式名を指定します。

ATOM 出力のテスト

ATOM はよく知られている形式なので、簡単にテストできます。

テスト 1: Web ブラウザーを使用する

ほとんどの Web ブラウザーでは、ATOM 出力をネイティブでレンダリングできます。 次の図を参照してください。

Ee890795.walk4(ja-jp,TechNet.10).jpg 

テスト 2: ATOM フィード検証ツールを使用する

使用できるフィード検証ツールは多くあります。 たとえば、http://www.feedvalidator.com(英語) では、 プレイリストが ATOM 検証をパスするとアイコンが提供されます。このアイコンは Web サイトで使用することができます。 次の図を参照してください。

Ee890795.walk5(ja-jp,TechNet.10).jpg 

まとめ

ここでは、クライアント要求に対する Web プレイリストの応答を ATOM フィード形式で作成する方法を紹介しました。 Web プレイリストには多くのシナリオが考えられます。 記述した XSLT スタイル シートがあればぜひ教えてください。こちらのブログ (英語) では、他にもサンプルを随時紹介しています。

関連コンテンツ

記事