========================================================================
Agenda-XML変換プログラム Agn2Xml.opo
Ver.0.2.0 (2003/3/14)
三橋憲行
========================================================================
【目次】
1. 概要
2. 使用方法
3. データの仕様
4. サンプルXSLファイルについて
5. 注意事項
6. 著作権について
1. 概要
このプログラムは名前の通り、PSIONのAgendaデータをXMLに書出すものです。
元々はMacとのシンクロを想定し、図々しくも読み込みやシンクロを想定した
仕様まで考えていたのですが、途中でiCalが出たので、あっさり止めてしま
いました。
ですが、折角途中まで作ったので、何かしらの役に立つかもしれないと考え、
書出し機能だけでまとめあげてみました。
2. 使用方法
説明する程のことはないのですが、起動するとダイアログが表示されるので、
[Export]を選択し、書出し元のAgendaファイルを選択し、書出し先のXMLファ
イルを指定するだけです。
最初のダイアログで[Option]を選ぶと、Encoding type、型定義参照有無、改
行コード、埋め込みオブジェクトの置換文字、UTCとの時差を変更することが
できます。これらの初期値はそれぞれ"utf-8"、無し、LF(0x0a)、"_"、9で、
変更しても保存はされず、起動する毎に初期値に戻ります。
3. データの仕様
本プログラムで作成するXMLデータの仕様は、以下の通りです。別途DTDおよ
びXML Schemaも添付しましたが、正確かどうかは自信がありません。ご了承
ください。
要素名: epocAgenda
親要素: なし
説明: ルートエントリ
内容: 要素 todoProject, entry
出現回数: 1回
制限:
属性: createDate
属性: createDate
要素: epocAgenda
説明: XMLファイル作成日時
データ型: 日付型
省略: 不可
制限: W3C-DTF形式(YYYY-MM-DDThh:mm:ssTZD)で記述
要素名: todoProject
親要素: epocAgenda
説明: To-do listの情報
内容: 要素 title, page, displayTime
出現回数: 1回以上の任意の回数
制限:
属性: projectId, sortOrder
属性: projectId
要素: todoProject
説明: Agendaが内部的に使用しているTo-do listのID
データ型: 符号無し32bit整数
省略: 不可
制限:
属性: sortOrder
要素: todoProject
説明: To-do View上でのTo-doのソート順
データ型: 列挙型
省略: 不可
制限: manual, date, priority
要素名: title
親要素: todoProject
説明: To-do listのタイトル
内容: 文字列
出現回数: 1回
制限: 255文字以下
属性: なし
要素名: page
親要素: todoProject
説明: To-do View上での表示ページ
内容: 16bit整数
出現回数: 1回
制限: 1以上
属性: なし
要素名: displayTime
親要素: todoProject
説明: To-do View以外でのTo-doを表示する場合の、表示上の時刻
内容: 文字列
出現回数: 1回
制限: hh:mm 形式
属性: なし
要素名: entry
親要素: epocAgenda
説明: Agendaの各エントリの情報
内容: 要素 title, dateFrom, dateTo, alarm, symbol, (anniv | todo)
出現回数: 0回以上の任意の回数
制限:
属性: id, type, crossout, tentative
属性: id
要素: entry
説明: Agendaが内部的に使用しているentryのID
データ型: 符号無し32bit整数
省略: 可
制限:
属性: type
要素: entry
説明: entryの種別
データ型: 列挙型
省略: 不可
制限: appt, todo, evnt, annv
属性: crossout
要素: entry
説明: エントリのCross Out設定
データ型: 列挙型
省略: 可 (省略時値=false)
制限: true, false
属性: tentative
要素: entry
説明: エントリのTentative設定
データ型: 列挙型
省略: 可 (省略時値=false)
制限: true, false
要素名: title
親要素: entry
説明: エントリのテキスト情報
内容: 文字列
出現回数: 1回
制限: 255文字以下
属性: なし
要素名: dateFrom
親要素: entry
説明: エントリの開始日時、To-doの警告開始日、Anniversaryの月日
内容: 日付型文字列
出現回数: 0回または1回
制限: W3C-DTF形式(YYYY-MM-DDThh:mmTZD)で記述。
Event, Anniversaryの場合は、時刻を 00:00 とする。
To-doの場合は、todoProjectのdisplayTime要素で設定された時刻。
属性: なし
要素名: dateTo
親要素: entry
説明: エントリの終了日時、To-doの締切日
内容: 日付型文字列
出現回数: 0回または1回
制限: W3C-DTF形式(YYYY-MM-DDThh:mmTZD)で記述。
Eventの場合は、時刻を 00:00 とする。
To-doの場合は、todoProjectのdisplayTime属性で設定された時刻。
属性: なし
要素名: alarm
親要素: entry
説明: エントリのalarm設定時刻
内容: 日付型文字列
出現回数: 0回または1回
制限: W3C-DTF形式(YYYY-MM-DDThh:mmTZD)で記述
属性: sound
属性: sound
要素: alarm
説明: アラーム音
データ型: 文字列
省略: 不可
制限: 28文字以下の英文字
要素名: symbol
親要素: entry
説明: エントリのシンボル文字
内容: 文字列
出現回数: 0回または1回
制限: 1文字
属性: なし
要素名: anniv
親要素: entry
説明: Anniversary固有情報
内容: 空要素
出現回数: 0回または1回
制限:
属性: showYears
属性: showYears
要素: anniv
説明: 開始年、経過年数の表示設定
データ型: 列挙型
省略: 不可
制限: none, start, years, both
要素名: todo
親要素: entry
説明: To-do固有情報
内容: 空要素
出現回数: 0回または1回
制限:
属性: project, priority
属性: project
要素: todo
説明: 参照しているTo-do listのID
データ型: 符号無し32bit整数
省略: 不可
制限: 要素todoProjectのprojectId属性を参照
属性: priority
要素: todo
説明: To-doの優先度
データ型: 8bit整数
省略: 不可
制限: 1〜9
4. サンプルXSLファイルについて
ZIPアーカイブ内には他に、エクスポートしたXMLファイルをWebブラウザ上か
ら月間表示カレンダーの形で表示するだけのXSLTプログラムも添付しました。
全く役に立たない代物ですが、興味がある方は実行してみてください。
NetScape7、Mozilla1.1またはIE6.0以上であればなんとか動くと思います。
使い方は、demoフォルダ以下丸ごと適当な場所に置き、エクスポートしたXML
ファイルを、demoフォルダの直下にagenda.xmlというファイル名で格納した
ら、scheduleフォルダの下にあるschedue.xmlというファイルをWebブラウザ
で開いてください。
なお、これはホームページ上にあるサンプルと同じものです。
demo/ --- agenda.xml ...書出したXMLファイル
schedule/ --- schedule.xml ...ブラウザで開くXMLファイル
schedule.xsl
:
5. 注意事項
本プログラムおよび関連する配布物はすべて、テストプログラムという位置
付けであり、何の予告も無く仕様の変更、配布中止等することがあります。
また、本プログラムを実行したことによる、データの破損等の障害について
は責任を負いかねますので、ご注意ください。
6. 著作権について
本プログラムおよびサンプルXSLプログラムについては、著作権を主張しま
せん。