widgets.dat
meta-author: t.ashula meta-creation_date: 2007-07-15T15:34:57+09:00
Opera のWidget 管理ファイル widgets.dat の解析.
注意
この文書は,WindowsXPにWindows版の Opera 9.22の情報に基づいて作成してます.
この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.
突っ込み,感想,その他は,office@ashula.infoまで
説明
widgets.datは,Opera 9 から追加された widget を管理するためのファイルのひとつ.
widget Panel などで直接ユーザに見える部分は widgets.adr というファイルで管理している.
「ユーザごとの設定を使う」でインストールすると,Opera Directory(通常,%APPDATA%\Opera\Opera\profile)以下の widgets フォルダに作られる(%APPDATA%は,通常Documents and Settings\user_name\Application Data).
拡張子こそ dat だが,実際の中身は XMLである.
構造
widgets.adr ファイルは,XMLファイルで,ルート要素は preferences.
かなりいい加減なDTD で書くと,widgetsdat.dtdのようになるはず.
preferences
preferences要素 は 1以上の section要素を持つ.属性は無し.
section
section要素は1つ以上の value要素を持つ.属性として idがある.
id は リテラルの"widget"か 30文字の文字列のどちらかを取る.リテラルの widget をとる section は preferences要素の最初の子要素のみ.それ以外の section要素の idは全て30文字の文字列.この 30文字の文字列は widgets.adr の#WIDGETのIDENTIFIERの値と対応する.
value
value要素の内容は #PCDATA で,属性として id がある.
id は 次の4種類の値をとる.
path to widget datasectionの最初の子要素にのみ使われる.この要素の内容は widget本体のパス として扱われる.おそらくは widget のconfig.xmlを含むフォルダで,zipファイルである必要は無い.number of saved valuessectionの最後の子要素にのみ使われる.この要素の内容は,後述の key と val の数を表す.key/val が無いときは 0.key #n- ウィジェットが保存する値の名前(
widget.preferenceForKeyの引数)を表す.nには 数字が入り,key #0,key #1,key #2と増加する. val #n- ウィジェットが保存する値(
widget.preferenceForKeyの戻り値)を表す.nには 数字が入り,val #0,val #1,val #2と増加する.
参考文献
- Widget
Opera Widgets Specification 1.0 - Opera Developer Community, http://dev.opera.com/articles/view/opera-widgets-specification-1-0/ , Opera Software
更新履歴
- 2007/07/15 : 初版