2009年8月30日日曜日

ここが非互換 Mac OS X 10.6 -- iCal

Mac OS X 10.6 Snow leopard が発売になりました。

当サイトでは、よく iCal 関係の AppleScript を扱っていますが、Mac OS X 10.6 では、少し挙動が変わりました。試しに、iCal でカレンダー「テスト」に「テスト」というイベントを作って、AppleScript から観察してみます。

tell application "iCal"
  tell calendar "テスト"
    properties of event 1
  end tell
end tell

以下は 10.5.8 (iCal 3.0.8) の結果です。

{
  allday event:false,
  class:event,
  description:missing value,
  end date:date "2009年 9月 2日 水曜日 1:00:00 PM",
  excluded dates:{},
  id:"C0DC5F01-4183-412E-95AB-9414FD8111C6",
  location:missing value,
  recurrence:"",
  sequence:2,
  stamp date:date "2009年 8月 30日 日曜日 2:27:03 PM"
  start date:date "2009年 9月 2日 水曜日 10:00:00 AM",
  status:none,
  summary:"テスト",
  url:missing value,
}

以下は 10.6 (iCal 4.0) の結果です。

{
  allday event:false,
  class:event,
  description:missing value,
  end date:date "2009年9月2日水曜日 16:00:00",
  excluded dates:{},
  id:"6A5888C1-D872-4C5F-B053-09CD8FC5067D"
  location:missing value,
  recurrence:missing value,
  sequence:2,
  stamp date:date "2009年8月30日日曜日 14:20:48",
  start date:date "2009年9月2日水曜日 13:00:00",
  status:none,
  summary:"テスト",
  url:missing value,
}

プロパティリストの結果は、比較しやすいように辞書順に並べ替えています。以上のように、recurrence に値が設定されていない時の結果が違います。description に "" (空文字列) を設定した時の挙動も違い、iCal 3.0.8 では "" になりますが、iCal 4.0 では missing value になります。

なお、missing value を文字列に変換して扱ってはいけません。AppleScript では missing value as string は "missing value" という文字列になるというよく分からない仕様なので、気をつけましょう。

2009年8月25日火曜日

XSLT で属性値に中括弧 {} を書く

XSLT の <xsl:value-of select="..."/> などで、属性値 select の値に中括弧 { ... } を使うと、その中は XPath 式として評価されます。それはそれで便利なのですが、中括弧自体を出力したい時は、以下のように中括弧を二重に書くことで、エスケープできます。

  <xsl:value-of select="{{1234}}"/>  

このように書くと {1234} が出力されます。

先日、困ったので、メモ書きしておきます。

2009年8月23日日曜日

Bento 2.0.5 リリース

Bento 2.0.5 アップデータがリリースされました。

Bento 2.0.4 の、アドレスブックや iCal のイベントが増殖する問題は、今回のアップデータで解決されたようです。

AppleScript のサポートは依然として改善されてません…。

2009年8月14日金曜日

POCKEPRE は福音となるか?

iPhone/iPod Touch を使ってプレゼンをするためのアプリ POCKEPRE が登場しました。Mac 本体を持ち歩かなくても、プレゼンをしたいという人にとっては福音となるのでしょうか?

ソフトウェアの機能については、メーカーのプレスリリースを読んでいただくとして、iPhone/iPod Touchから、コンポジットAV出力を出すケーブルを買う必要があります。この手のケーブルはたくさんの種類があるように見えますが、iPod Video 専用で iPhone/iPod Touch では利用できなかったりするものがあるので、意外と選択肢は少ないです。

もう一つ気になるのは、次世代 iPhone では、iPod dock ケーブル端子が廃止され、mini USB-B 端子になるという噂がある点です。これになっちゃうと、せっかく買ったケーブルは使えなくなっちゃいますね。