2008/02/19
iGoogle Themes APIの微妙なXML
iGoogle Themes APIは、Googleが公開しているAPI(http://code.google.com)の中では、最もアプリを作るのが簡単なもののひとつだと思います。センスの良いテーマを作るのは容易ではありませんが。
最近のGoogleプレゼンツらしく、XMLファイルを書くだけでテーマが作れるようになっています。 しかし、このXMLに違和感があります。 テーマを記述するXMLは次のような構造のXMLです。
<?xml version="1.0" encoding="UTF-8" ?>
<ConfigMaps>
<ConfigMap type="Skin">
<Meta name="title">Simple Theme</Meta>
<Meta name="description">Simple theme example.</Meta>
<Meta name="author">Ariel</Meta>
</ConfigMap>
<ConfigMap type="Skin">
<Trait name="TimeOfDay">12am-1am</Trait>
<Attribute name="header.background_color">teal</Attribute>
<Attribute name="header.logo">white</Attribute>
<Attribute name="header.text_color">#ffffff</Attribute>
attributes...
</ConfigMap>
<ConfigMap type="Skin">
<Trait name="TimeOfDay">1am-2am</Trait>
attributes...
</ConfigMap>
</ConfigMaps>
テーマ記述の肝はAttribute要素です。上の例の最初のAttribute要素はCSSに翻訳すると次に対応するイメージです(あくまで概念上の対応です)。
XML;
<Attribute name="header.background_color">teal</Attribute>
CSS;
.header { background-color: teal }
Attribute要素はまあこんなものか、と思いますが、気持ち悪いのがConfigMap要素です。上の例で言えば、Meta要素を子に持つConfigMapとAttribute要素を子に持つConfigMapは概念レベルが異なると思います。にも関わらず同じConfigMapです。
Trait要素もなんか変です。動的テーマが作れると書いてありながら、できるのは時刻による振り分けだけという中途半端さです。できたから入れました的な雰囲気を感じます。そもそもTrait要素が親のConfigMap要素の選択基準になっている構造も微妙な気がします。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/igoogle-themes/tbping