« 2008年04月12日 | メイン | 2008年04月14日 »

2008年04月13日

XAML, XPS, WPF, XPSviewer, Silverlight ? その3

Codezineに掲載されたSilverlightの文書形式について読んで見ました。

Silverlight入門(1)-XAMLの文法
参考:MSDN のSilverlightリファレンス

・HTML上のOBJECT要素によってSilverlightをブラウザに表示するか、Silverlight SDK付属のSilverlight.jsを使い、createObject関数を呼び出す。
・SilverlightのコンテンツはXAMLで作成する。その記述方法は、XMLの要素として、XAMLのオブジェクト名、XMLの属性としてオブジェクトのプロパティとその値を指定する。属性を使う代わりに、属性と同等のプロパティ要素を使う方法もある。
・例えば、文字列はTextBlockオブジェクトを使い、線を引くならLineオブジェクトを使うなど。オブジェクトの入れ物としてのCanvasオプジェクトも使える。

続き: Silverlight入門(2)-図形やテキストを扱うオブジェクト(Codezineに登録しないと閲覧できないと思います。)

Silverlightで使えるXAMLのオブジェクトの種類は、まだ非常に機能的に少ない。また、この解説を読んだ範囲では、Silverligh用XAMLはXMLによる仕様書としてはそれだけで独立ではなく、Silverlightプログラム依存になっていると思います。つまり、オブジェクトとプロパティについて完全な仕様として記述されていないので、レンダリングがそのデータを解釈する実装に依存するということで、Microsoft OfficeのOOXMLも同じような性格を持っています。

XAML全体が、実行プログラム依存かと言いますと、そうでもなく、マイクロソフトのXAML の概要を見ますと、XAMLのドキュメントには固定ドキュメントとフロー・ドキュメントの2種類があると説明されています。

固定ドキュメントは、WYSIWYGアプリケーション用とのことです。このあたりは仕様を詳細にチェックしないとはっきりは言えませんが、レンダリングされる結果が常に同一になるように仕様上保証されていれば、アプリケーション独立になることがかなり期待できます。

XPSはXAMLの固定ドキュメントをひとつ以上とその表示に必要なリソースをパックしたものとのこと。

つまり、XPSはXAMLのサブセット+資源のパックということです。

SilverlightでXPSをどこまで表示できるかという問の回答は、Silverlightがサポートしているオブジェクトの種類と、あとは、フォントなどのリソースをサーバからクライアントにどこまで送信できるか、という問題もありそうです。サーバ上にXPSと共に置いたフォント・リソースを解体してクライアントに送信したら、ライセンス違反の危険があるかもしれません。

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック