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