Office2007でカスタムXMLをマッピングする方法が知りたい

Microsoft Office Developers Conferenceで、さらっとデモしてもらったのを見たのですが、Word文書内に、カスタムXMLファイルを埋め込んで、文書内のデータを分割する方法が紹介されていました。その具体的なやり方を失念してしまいました。

Offic2007では、XMLベースのファイルフォーマットになるのですが、文書内のデータを外部アプリケーションで利用しやすくするために、カスタムXMLを埋め込むことができました。
たしかWordコンテンツコントロールを使って、データ入力コントロールを用意し、そのコントロールをカスタムXMLにマッピングしていたと思うのですが。。。

これってプログラムか手作業で、マッピングを作らなければならいのでしょうか?
それとも、Wordの操作でマッピングできるもの?


Google Homepage APIでlivedoor Readerの更新チェッカーを作ってみた

最近、気になっているGoogle Personalized Homepage APIを使ってモジュールを作ってみました。
まだ、動きが分からなくて「?」なところがあるのですが、とりあえず作って公開しておけば、なんか分かるかもしれない。

作成したのは、livedoor Readerの更新チェッカーです。
単純にHTTPリクエストを送ると、未読記事数を返してくれるので簡単に作れます。

LDReader NotifierAdd to Google
(livedoor Reader Notifier for Google Personalized Homepage)
スクリーンショット:LDReader Notifier

参考にしたのはこちらのサイトです。

Google Personalized Homepage ガジェットの作り方:まずは作ってみる
本日はそれを作る過程で学んだ Google Personalized Homepage ガジェット(以下 Google Gadget)の作成方法をご紹介します。 Developer Guide を見るとなんだか複雑そうですが、いざやってみると驚くほど簡単に作れました。最低限必要なのは数行の XML だけで、あとはガジェット内に表示する HTML を記述するだけです。

公開の仕方まで解説してあって分かりやすかったです。私はGoogle Baseを使って公開してみました。

  • Google Gadgets API Developer Guide
  • Google Homepage API Reference 邦訳(高梨ギンペイさんのサイトNESTより)
  • Gadgetの作成方法は、Googleのリファレンスをみたらなんとなく分かりました。

    だけど、良く分からないのが2点あります。

    1. 公開したGadgetのアップデート
      一度公開したGadgetのソースコードを修正し、自分のサイトで追加しなおしても更新されないんです。どうやってGadgetを修正したらよいのかが分かりません。
      現在は、新しく作り直して別のURLで公開しなおしています。
    2. Content Proxyのキャッシング
      Googleが提供する_IG_FetchContent()関数を使うと、JavaScript内で簡単に別サイトの情報を取得できます。これを使ってAjaxやJSONが利用できます。
      ところが、同じURLに対して再度取得を行うと、新しい情報が取得されていないように見えます。キャッシングされているようです
      仕方がないので、LD Reader Notifierでは、URLの末尾にタイムスタンプをつけてキャッシングされても使われないようにしちゃっています。(ダメかな?)

    この2点が今分からないところ。なかなか面白いのでアイデアが浮かんだらどんどん作っていこうかと思います。

    それにしてもGoogle Personalized Homepage APIって長い名前なんですが、いろいろな名前が錯綜しているように思います。Moduleとか、Gadgetとか色々あって検索しづらい。

    ※2006/07/06追記
    公開したGadgetのアップデートですが、反映されるまで少し時間がかかるものの、しばらく放置しておけば勝手に再取得されるようです。
    またコメントでフォローしていただいたように、Developer Moduleを使えば、開発テスト用にキャッシュを切ることができました。
    Developer ModuleはこちらAdd to Google


Firefoxのクイックサーチは、検索バーより便利

Firefoxで英和辞書や和英辞書検索するときに、検索バーやGoogleを使っていたのですが、ネットで調べていたらFirefoxに標準で搭載されているクイックサーチという機能を知りました。

Lucky bag::blog「Firefox のクイックサーチを活用してみる
Firefox のロケーションバーにキーワードと検索したい単語を入力することで、任意の検索サイトで検索することが出来るクイックサーチ機能。
デフォルトでは、Google、goo 辞書英和辞典、Wikipedia、e-Words が用意されているけど、自分でも検索サイトを追加することが出来るのは周知の通り。

デフォルトで入っていたとは知りませんでした。初めてFirefoxをインストールしたときにデフォルトで入っていたブックマークを全部消して、自分で入れていたので。。。

クイックサーチの利点

クイックサーチがあれば、検索バーと同等の機能が使えます。
検索バーを使う時は、CTRL+Kで、フォーカスを移動して、語句を入力して、ENTERで表示します。(もしくはALT+ENTERで別タブに表示)
クイックサーチの場合は、CTRL+Lで、フォーカスをアドレスバーに移動して、キーワード+語句を入力して、ENTERで表示します。もしくはALT+ENTERで別タブに表示)
例えば、Googleの場合は、”google hoge”と入力すると、検索結果が表示されます。”google”の部分がキーワードで、この文字列は任意に設定できます。(私の場合はもっと短くして”g”としています)

クイックサーチがなにが良いかというと、キーワードで検索エンジンの種類を変えられることです。
検索バーの場合はALT+↓キーで、検索エンジンを切り替えられますが、これはちょっと面倒です。

クイックサーチの実体は、ブックマークとして保存されています。
これもとても便利です。拡張「Google Browser Sync」を使っていると、ブックマークを同期できるので、複数のパソコンでクイックサーチも同期できます。

クイックサーチの追加

クイックサーチが優れているのは、検索エンジンの追加が非常に簡単なのことです。
検索バーの場合は、検索バー用の設定をどこかで入手するか、自分で作成する必要がありますが、クイックサーチならば、サイト上の検索フォームから追加できます

以下は、楽天ブックスをクイックサーチに追加する方法です。
楽天ブックスで検索する場合は、図のように左側の分類を「本の中で」を選択し、キーワードを入力してから、検索ボタンを押しますよね。これは普通の検索の方法です。
楽天ブックスで検索

この状態から検索ワードのテキストボックス部分で右クリックし、メニューから「この検索にキーワードを設定…」を選びます。
テキストボックスで右クリック

すると「ブックマークを追加」のダイアログが表示されます。
キーワードはここで指定します。「楽天ブックス」の検索をするのにふさわしいキーワードを指定します。”book”としてみます。
キーワードを指定して、ブックマークを追加

あとはアドレスバーで検索するだけです。
アドレスバーに入力
CTRL+Lでアドレスバーに移動して、”book java”と入力してENTERキーを押すと、楽天ブックスを検索語句”java”で検索した結果が表示されます。
検索結果

ALT+ENTERで確定すると、新しいタブに検索結果が表示されるので便利です。
キーワードと、検索語句の区切りは半角スペースでないとダメです。ここに全角スペースも使えると便利なんだけど。。。

サイト上においてある検索フォームから追加できるのが便利です。
面倒な選択肢がたくさんあっても、検索ボタンを押す直前の状態まで入力し、あとはキーワードを設定するだけでよいです。