|
§ Revision: 1.7 [今日の帰宅時間:23:15頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと17日
CivilizationIII完全日本語版発売まで、あと35日
今年も、あと306日
§
朝
7:20起動。
§
朝電車
9:20頃着の電車で出勤。車内ではBGMを書けながら「WEB+DB PRESS Vol.6」を眺めて過ごしてました。
§
昼休み
食事はセブンイレブンで買ったのり弁とサラダ。
§
夜休み
食事はセブンイレブンで買ったチンジャオチャーハンとサラダとヨーグルト。
§
夜電車
音楽を聴きながら、かつ、意識を無くしながら帰宅。
§ まっとうなことは識者の方が答えてくれそうですが、どっちでもいっしょ。自分はdo〜endの方をよく使いますけど。リファレンスによれば、
{ ... }の方がdo ... endブロックよりも結合強度が強いです。
§ となってます。
§ もちろん、下の様なことは、do〜endだとちょっと見た目が変(*1)ですけど。その時、その時で分かりやすい方を使うことになるんでしょう。
>ruby -e '[10,4,3,5].sort{|a,b| a <=> b}.each {|n|print n,"\n"}'
3
4
5
10
>ruby -e '[10,4,3,5].sort do |a,b| a <=> b end.each {|n|print n,"\n"}'
3
4
5
10§ 自分の場合は、1行にまとめちゃいたい時は{〜}、そうじゃなくて複数行に渡る時はdo〜endにしてますね。逆にイテレータであることをはっきりさせるために{〜}を使うという考え方もあるでしょうし、自分の中で一貫性をもって使っていればいいのでしょう。
§ 夕方にPC Watchを見てびっくり。18日にリニューアル予定のアキハバラデパートを、JR東日本が発行済株式の6割を約7億円で買収し、経営権を取得したとのこと。
§
NortonAntiVirusウィルス定義ファイル
2002/02/28版 対応ウィルス数58873
夕方の時点でLiveUpdate不可
§ どれも、脅威度は低いもの。
§ Revision: 1.3 [今日の帰宅時間:おやすみ]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと16日
CivilizationIII完全日本語版発売まで、あと34日
今年も、あと305日
§
朝
7:30くらいだったか?よく憶えて無いけど。
§
午前中
絶賛睡眠中。
§
午後
電撃hp Vol.16掲載の「イリヤの夏、UFOの空」の「番外編・ESPの冬」を読む。う〜む、自分もはったりに弱いタイプかも知れない。
§
夕方
床屋に行ってきたり。
§ Suica定期券は券面を書いたり消したり書いたり消したりするので、イオカードタイプと定期券タイプは違うものになってます。中身は一緒なんだけど、表面が違うという落ちでした。定期券タイプは表面のコーティングの分、やっぱりコストがかかるでしょうから、定期券タイプに統一も出来ないんじゃないでしょうか。まあ、移し替えくらいしてくれても罰は当らない気はしますけど。
§ ちなみに、Suicaってのは、たぶん、あのカードの中に入っているのはID情報のみで、定期の区間情報とか、イオカードとしてのチャージ分とかの情報は入っていません(*1)。どこにあるかと言えば、ホストコンピュータ上で管理されています。だから、無くしても無くした時の情報で再発行できます(*2)。
§ 逆に言えば、センターホストが落ちたらSuicaは使えません。もっとも、毎回中央のホストと通信していると大変なので、地域ごとに統括するサーバがあるようですが。まあ、Suicaってのは見かけ以上に大規模なシステムだったりするわけです。大災害時には、定期券としてはともかく、イオカードとしてはまず使えませんね。
§ そう言えば、自動車にはETCという同様のシステムがありますが、最近の有料道路にはETC専用ゲートがあるんですね。3つしかないゲートの1つがETC専用だったりする場合も見かけたような。で、誰も通らない。しかも、一番いいところがETCだったりするんですよね。他のところには列ができてるのに、ETCは1台も通らない。あれもどうかと思っちゃいますけど。
§
NortonAntiVirusウィルス定義ファイル
2002/03/01版 対応ウィルス数58896
3/2の15時の時点でLiveUpdate不可
§ Revision: 1.1 [今日の帰宅時間:おやすみ]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと15日
CivilizationIII完全日本語版発売まで、あと33日
今年も、あと304日
§
朝
9:10頃起動。
§
午前
たまってビデオ視聴。
§
午後
絶賛、睡眠不足解消中。
§ Revision: 1.8 [今日の帰宅時間:23:45頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと14日
CivilizationIII完全日本語版発売まで、あと32日
今年も、あと303日
§
朝
7:20頃起動。遅いです。絶賛、頭痛中。
§
朝電車
「WEB+DB PRESS Vol.6」を眺めながら、音楽も聴きながら、9:20頃着。実は1日から川崎の日航ホテルのところにスターバックスが開店した。そのせいで、スターバックスのカップを持ってあるいてる人間が数名見かけられたり。金曜日には気付かなかったけど。ちなみに、その前日の28日には、川崎駅の階段を降りたところにドトールが開店。さらにその前の25日には駅ビルに喫茶店が開店するなど、喫茶店開店ラッシュとなっている。ドトールもスターバックスも、すでに川崎駅周辺に店舗を持ってるんだけど、追加して競う様に出店してるのはなんでだろう。絶賛、頭痛中。
§
昼休み
食事はセブンイレブンで買ってきた、即席鮭粥と根菜サラダに、買い置きの即席スープ。インスタントな生活。あとはだべり。絶賛、頭痛中。
§
夜休み
食事はファミマで買ったおにぎり2個(あまえび、チャーハン)とサラダとヨーグルト。若干治まったが、まだ多少頭痛中。おにぎりはファミマよりセブンイレブンの方が全体的においしい気がする(*1)。
§
夜電車
「WEB+DB PRESS Vol.6」を眺めながら、音楽も聴きながら、帰宅。
§ 幸い、自分もうちの家族もひどい花粉症になったことはないが、社内を見回せば何人か見掛けたりする。世の中的にも広がっていて、nDiaryAntennaで捕捉している日記オーナーの中にもそれなりに存在する様である。というわけで、昨日、たまたま見た「あるある大事典」とかいう番組で、花粉症を取り上げていたのを取り上げている日記もいくつか見たり。
§ 花粉症増加の原因としては、異物が多くて鼻の粘膜などが過労なところに、化学物質(自動車の排ガスや煙草に含まれているもの(*2)など)の増加で粘膜が痛んでしまい、冬場の乾燥もあってのことらしい。ついでに、体内のホルモンバランスなんかも影響する様だ。
§ で、対策としては、ヨーグルトと30分の有酸素運動だそうな。社内の花粉症者Nも、大腸の病気をしたばかりで、そのせいじゃないかと言っていた。まあ、花粉なんか昔からあるものなので、それによって病気になるということは、周囲の環境とか、生活習慣の問題なんだろう。
§ ちなみに、私は平日はほぼ毎日ヨーグルトを食べてますけど、それと、花粉症にならないことの因果関係は不明です。
§ 例のIE/OEの大穴の件もあって、久しぶりにMozilla 0.9.8とか入れてみたが、やっぱり使いにくい。とくに、Donutシリーズのタグブラウズ機能に慣れきっているので、Multizillaのとりあえずタブで表示できます程度の機能では全然使い物にならない。DonutのMozillaコントロール試用はαリリースもいいとこだし(*3)。健康に悪いことは分かっていても喫煙を止められない常習者みたいなものか。
§ ちなみに、普段IEやOEを使ってないから関係ないやって思ってる人もいるでしょうが、IEそのものはともかく、Windowsを使ってる限り、IEのコアモジュールとは無縁でいられないし、なにかの拍子にそれらが呼ばれてしまうことも避けられないので、どのみち修正プログラムを当て続けなければいけないことには変わりません。どうせ、修正プログラムを当て続けるんだからIE使えばいいじゃん、と言うのが自分のスタンス。いや、もちろん、IEと言うかDonutを超えたブラウザが出てくれれば、そっちを使いますけどね。つか、会社のマシンはVisualStudioとか入ってるし、今のところそっちの仕事がなくならないので、IEは使わざる得ないですが。
§ 先日、予約した番組が録れてなかったと書いたが、その後、またHDDの方に録画されてないという事態が発生。しかし、今度は予約時のミスでDVDの方に録画していただけだったので問題は無かった。RD-2000はGコード予約をしている時に、入力ミスしたら「修正」ボタンを押すと、入力状態が初期化されるのだが、この時、HDD/DVDの設定や、画質、音質の設定も初期化されてしまう。そんなわけで、たまにDVDに録画しようとしてしまう。たいていは、その後で録画予約のチェックを行なうので、未然に防げるのだが、今回は見落としてしまった様だ。まあ、今回はDVD-RAMに空きがあったし、無かったらHDDの方に自動的に振り返られたと記憶しているので、問題が無いといえば無いんだけど。でも、画質設定間違えるとちょっと痛いかも。RD-2000は自力の再エンコードはできないことになってるので。
§ Blue-layについてワールドビジネスサテライトでちょっと取り上げてました。で、この連合から外された東芝もインタビューに応えてました。ナレーションではDVDフォーラム無視について議長の東芝は不快を感じているなんて言ってましたが、実際には不快と言うより危機感でしょう。他には連合側のソニーと松下もインタビュー。しかし、ソニーに「消費者置き去りの規格競争はおかしい」なんて言われたくないぞ。今回のDVDフォーラム無視の9社連合で、またぞろ規格分裂の危機なんだし。つーても、東芝と同じくDVD-RAM陣営の松下が事実上裏切ったこともあって、Blue-lay優勢というところか。まあ、今度の9社も先に出して逃げ切ることを狙ってやってるんだろうし。
§ Revision: 1.8 [今日の帰宅時間:23:45頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと13日
CivilizationIII完全日本語版発売まで、あと31日
今年も、あと302日
§
朝
7:15起動。
§
朝電車
余計な事をやってたせいで、川崎着9:40頃の電車。「WEB+DB PRESS Vol.6」を眺めながら。一通り眺め終わったので、次からはVol.7だな。
§
昼休み
食事はセブンイレブンで買ったおにぎり2個(鶏五目、チャーハン)と根菜サラダと、買い置きの即席スープ。
§
夜休み
食事はファミマで買ったツナキノコトマトスパとサラダとヨーグルト。
§
夜電車
「Web+DB PRESS Vol.7」なぞを眺めながら。Cocoon2って面白そう。
§ 自分の場合、入ってるメーリングリストは、いわゆる技術系ばかりだが(*1)(*2)、それでもたまに「○○ってなんですか?」ってなメールが舞い込んでくる。つい最近もあった。まあ、そこまでストレートなのはさすがにそう頻繁ではないが。最大でも5行程度から、下手すれば1行で「○○ってなんですか?」、「○○について教えてください」ってやつが。○○ってやつには、なんかのテクノロジーとかの名前が入る。まあ、XMLでもXSLTでもSOAPでもWSDLでもUDDIでもJAXPでもXercesでもXalanでもCocoonでもTomcatでもApacheでも別になんでもいい。適当に書き連ねてるので、以上のものについて質問されても困る(笑)。
§ 技術系メーリングリストなんだから、参加しているのは技術者で無いにしても、その分野に興味があるだろう人であろう。そういう場所に「○○ってなんですか?」っていうメールを送ってくるってのがよくわからない。例えば、どんなに低レベルなことでも、「○○使ってみたんですけど、どうもうまくいきません。かくかくしかじかしてみたんですけど、どこかおかしいでしょうか?」みたいなのなら問題無い(*3)。
§
そんな時にはgoogleである。まあ、別にgoogleじゃなくてもいいんだけど、とりあえずこれを書いている現時点ではgoogleである。「○○ってなんですか?」の○○をキーワードに入力すれば、たいていは答えが出るだろう(*4)。google依存度が高まると、「おいおい、それをgoogleしても駄目だろう」ってものまでgoogleしようとする(*5)。
今のところ無料のサービスだし、たいがいの場合、目当てのものが頭の方に出てくる確率は高い(*6)。メーリングリストによってはうん万からうん十万も居るであろう他の読者にゴミメールを送りつける前に、googleでもなんでもいいから、検索サイトで調べてみるのが先だろう。
§ まあ、慣れてくれば特定の分野の情報はあそこにあるとか、特定のカテゴリの検索はgoogleの様な汎用の検索サイトではなく、それ専門の検索サイトが便利だとかいうことがわかってくるだろう。あるいは、もうちょっと深い知識を探りたい時には、キーワードの与え方やなんかに工夫が要ることも分かってくるだろう。
§ まあ、「○○ってなんですか?」って類いのメールもたまにある分には役に立つこともある。親切な人が分かりやすくまとめて情報を提示してくれたりすることがあるから。そういうのはありがたく使わせてもらうが、それを当てにしてはいけないだろう。
§ 最悪なのは、「そんなの自分で調べろ」みたいな応答をわざわざメーリングリストに流すお馬鹿さん。まあ、運営側の立場の人が出す、あるいは、それに近い立場の人が出すのなら分からなくもない。勘違いした常連気どりのお馬鹿さんが「そういうのは過去ログを見てください」とか「自分で調べろ」みたいな多くの読者に益の無いメールを送ってきたりする。いいから、無視しなさいって。たまに、当の発端の人間や、まれにまったく関係のない人がそういうメールに噛みついてきたりして、騒ぎになったりもする。けんかは一人(あるいは一方の側)だけではできないので、自分は正義と思ってるだろう勘違い君も同罪。どうしてもなんか言いたいなら直接送りなさい。ま、答えのついでにちょっと苦言を呈すくらいならいいんですが(*7)。
§ って、ここまで書いて、別にこれって技術系じゃなくても同じことじゃん、と気付く。例えば、秋山瑞人のメーリングリストがあったとして「イモビライザーって何ですか?」って質問メールを出すのは、やっぱりどうかと思うし。
§ いや、タイトルに意味ないです。ただ「VSイマジネーターが好きなのは少数派」という話があったので、じゃあ、人気があるのは何なんだろうと思ったんですが。ちょっと検索かけてみたけど、いまひとつよくわかりませんね。誰か、ご存知の方は居ますか?(笑)。やっぱり、売り上げで測るんだろうか。
§ ちなみに、自分は「VSイマジネータ,01579521」も好きだけど、やっぱり、「パンドラ」ですかね。おそらく、さらに少数派の予感がしますが。あと好きなのは「ハートレス・レッド」ですかね。そういう意味では「ホーリー&ゴースト」も好みの方です。基本的にはブギーポップが活躍しない方がいい。あれは最後の最後に出てきてさくっと締めてくれればそれでよし、って人です。まあ、「歪曲王」も嫌いじゃないですけど。
§ マイクロソフトから、プロキシ経由でWeb閲覧(非SSL)をしているユーザが、送受信している内容を盗聴されてしまう特殊なJavaアプレットを実行できてしまう問題点(MS02-013)の修正プログラムが出ています。
§ また、先日のIE/OE 5.5/6.0の大穴の件は、レジストリの書き換えで応急対応できるらしいです。ただ、レジストリをいじるので、修正プログラムを待ったほうがよいとのこと。ちなみに、IE5.01では警告が表示されるので、間違って実行を許可したりしなければ大丈夫の様です。下にこの問題の検証ページへのリンクを付けておきます。なお、XPのインストール状態によっては、電卓のパスがこのページで想定している位置とは違う場所にあるので、電卓が起動しません。c:\windows\calc.exeを自前で用意してください。レジストリがうまく当たってる場合には、セキュリティ関係のダイアログが出てきます。
§ また、タグ式ブラウザのいくつかには「ActiveXをダウンロードしない」という設定があり、それを有効にするとこの問題は防げるようです。自分もDonutPで確認しました。もちろん、これを有効にしてしまうと、ActiveXが必要なページは意図したようには出てきません。まあ、タグ式ブラウザの場合、タグ毎にそれらの設定を切り替えられる様になってることが多いので、当分はデフォルトではActiveXのダウンロードと実行を無効とし、必要かつ安全なページでだけActiveXを実行する様にするしかないでしょう。
§ なお、MS02-013と同様の問題はSunのJavaプラグインにもあるそうです(*8)。Windowsの場合、JDK/JRE 1.3.0_02以前、1.2.2_010以前、1.1.8_007以前では同じ問題が発生するそうです。これらを使ってる人は、同じバージョンのより新しいものにアップデートしましょう。最新バージョンは1.3.1_02か1.2.2_011か1.1.8_009だそうです。
§ 念の為に書いておきますが、ここに書いてることは自分で確認したことを除けば伝聞に過ぎませんし、確認したことについても、自分の持っている環境ではそうなったというだけのことです。これをもって、他の全ての環境では問題無しというわけではないです。自分のところでどうなのかの確認は、ご自分でなさってください。
§
NortonAntiVirusウィルス定義ファイル
2002/03/04版 対応ウィルス数58939
3/6の1時の時点でLiveUpdate不可
§ Revision: 1.3 [今日の帰宅時間:0:10頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと12日
CivilizationIII完全日本語版発売まで、あと30日
今年も、あと301日
§
朝
7:10頃起動。
§
朝電車
川崎着9:20頃の電車。今日は荷物があったので読書などはなし。
§
昼休み
食事はビル内の売店でかったコロッケパンとサンドイッチパックに、買い置き即席スープ。その後は、ノートPCにCocoon2のセットアップしてました。
§
夜休み
食事はファミマで買ってきたハンバーグとから揚げの弁当とほうれん草のごま和えとヨーグルト。
§
夜電車
「Web+DB PRESS Vol.7」なぞを眺めていて、降りる駅が近づいたので中断したのが大失敗。久しぶりに終点まで。上りはないのでタクシーを使って帰宅。
§ 日本語版が4/5に発売されるCIVILIZATION IIIだが、つい最近出たパッチが日本語版に反映されるのかどうかが不透明だった。しかし、forGamer.netによると、1.17fベースで発売されることが決定したそうだ。なにしろ、もう発売まで1ヶ月を切ったので、CDを製造するにはもう締切。forGamer.netに届いた最新版というのは、おそらく製品版と同じものだろう。1.17fが出たのが2/26なわけで、1週間で頑張って最新版に反映させたのだろう。サイバーフロントの翻訳は不安、なんて話も某所で出てるが、ここまでしてくれてるんだから、これは買うしかないだろう(*1)。
§
(DameDameDiary 3/6より)
オルジェという会社から、「大戦略 for palm」というものが4月5日に出るらしい。見た感じハイレゾ対応ではなさそうだけど。
§ Cocoon2が何かって言うのは、色々記事があるのでそちらを見てください。一言で言えば「XMLパプリッシュ・フレームワーク」だそうです。雑誌では、「Web+DB PRESS Vol.7」の特集記事のひとつにCocoon2の紹介記事があるので、それを読むと面白い。
§ 今回、初めてセットアップをしたわけではなく、いままでちょこちょことやっては失敗しています。過去の失敗履歴を並べると
§ という感じです。TomcatとCocoonはバイナリパッケージを使っています。真ん中のJDK1.3.1+Tomcat4.0.2との組み合わせは、クラスが見つからないエラーなので、うまくやれば動くかもしれません。あるいは、JDK1.4との組み合わせも、自分でビルドすれば動くかもしれません。が、とりあえず、深くは追求しないことにします。今回は、JDK1.3.1 + Tomcat 3.3a + Cocoon 2.0.1でようやく動きました。
§ さて、Tomcat 3.3aのセットアップですが、バイナリパッケージを展開して、ちょこっと設定をいじるだけです。今回、サービスとして動かしてるので、jk_nt_service.exeも拾ってきます。
§ サービスとして動かすにはwrapper.propertiesが必要なので、$TOMCAT_HOME/conf/jk/wrapper.properties辺りを元に、wrapper.tomcat_homeとwrapper.java_homeを適当に設定します。そうしたら、サービスとして登録。
jk_nt_service -i Tomcat3_3a_JDK1_3_1 ../conf/wrapper.properties
(この例では$TOMCAT_HOME/binから実行しています)§ Cocoon2の方は、バイナリパッケージを展開して、cocoon.warを$TOMCAT_HOME/webapps/に置くだけ。そしたら、おもむろにTomcatのサービスを開始します。
net start Tomcat3_3a_JDK1_3_1§ http://localhost:8080/にアクセスして、Tomcat 3.3aがちゃんと動いているのを確認します。Servletのデモが動くかどうか確認してもいいでしょう。そうしたら、http://localhost:8080/cocoon/にアクセスします。最初は、cocoon.warを展開するので、ちょっと時間がかかります。しばらくすると、welcomeページが出てくるはずです。出てこなかったら...なんか、まずかったんでしょうね。
§ とりあえず、Multimedia Hello World(*2)で遊びます。WMLは表示する環境が無いですし、VoxMLもVRMLも環境が無いので駄目でしたが、HTML、SVG(*3)、PDFなんかはちゃんと動いてます。
§
NortonAntiVirusウィルス定義ファイル
2002/03/05版 対応ウィルス数58980
§ Revision: 1.5 [今日の帰宅時間:23:30頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと11日
CivilizationIII完全日本語版発売まで、あと29日
今年も、あと300日
§
朝
7:15頃起動。
§
朝電車
「Web+DB PRESS Vol.7」を眺めながら。読みたいところは大体読み終わってしまった。そんなこんなで、9:20頃川崎着。
§
昼休み
食事はざるそばとサラダと、買い置きの即席スープ。
§
夜休み
食事はファミマで買ったツナコーンスパとほうれん草のごま和えとヨーグルト。
§
円急騰
あれよ、あれよと円高進行。
§
夜電車
「UML PRESS Vol.1」なんぞを眺めながら。
§
NortonAntiVirusウィルス定義ファイル
2002/03/06版 対応ウィルス数59023
LiveUpdateにて
§
NortonAntiVirusウィルス定義ファイル
2002/03/07版 対応ウィルス数59048
LiveUpdateできない
§ Revision: 1.8 [今日の帰宅時間:23:45頃]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと10日
CivilizationIII完全日本語版発売まで、あと28日
今年も、あと299日
§
朝
7:15頃起動。
§
朝電車
いつもより遅く、10時頃到着の電車。車内では音楽を聴くだけで読書無し。アゼリアの有隣堂によって買い物してから出社。
§
昼休み
食事はセブンイレブンで買ったざるそばと根菜サラダと、買い置き即席スープのランチセット。
§
夜休み
食事はファミマで買った三色鶏弁当とサラダとヨーグルト。
§ あえてツッコミを入れると、薬じゃないんですから、1度や2度食べてよくなりました、終わり、ってなことにはならないと思いますけど。毎日とは言わないまでも、定期的に取り続けなければいけないのでは。あと、30分の散歩ですかね。つか、最近は継続しないでちょっとやって「駄目じゃん」で終わらせる人が多すぎ。世の中そういうもんじゃないでしょ。だから「それは効いてない」と笑い飛ばす人達は、根本的に世の中がわかってません(とか言ってみたり)。
§ 花粉症とは関係なくほぼ毎日食べてますが、最近は雪印じゃなくて森永ですね。どろどろタイプはあまり好きじゃないので、選択肢が少ないのが難点。雪印の骨太は好きだったんですが、一時期店頭から消えてしまって、森永のLG21に乗換えてしまったのでした。最近は、どこのメーカーだか覚えてませんけど、ふわふわっとした感じのが売ってて、それが結構お気に入りですが。
§ まあ、花粉症に効くかはともかくとして、健康と美容のためにヨーグルトをどうぞ(笑)。
§ 今日は大漁。つか、散財。
§ Coconn2で遊ぶネタとして、RelaxをDTDに変換するというのをやってみました。材料はRELAXのページからリンクされているRELAX2DTD for XSLT。とりあえず、サイトマップをいじってRelaxファイルを閲覧できるようにしてみました。
<map:match pattern="relax2dtd/*.relax">
<map:generate src="woinary/relax2dtd/{1}.relax"/>
<map:serialize type="xml"/>
</map:match>§ 実際にやるとXMLとして表示されます。やってることは単純で、例えば、http://localhost:8080/cocoon/relax2dtd/test.relaxと指定すると、$TOMCAT_HOME/webapps/cocoon/woinary/relax2dtd/test.relaxを読み込んで、それをXMLとして出力します。
§ 問題は、DTDを出力する方。こんな風にしてみます。
<map:match pattern="relax2dtd/*.dtd">
<map:generate src="woinary/relax2dtd/{1}.relax"/>
<map:transform src="woinary/relax2dtd/relax2dtd.xsl"/>
<map:serialize type="text"/>
</map:match>§ さっきと同じですが、http://localhost:8080/cocoon/relax2dtd/test.relaxと指定すると、$TOMCAT_HOME/webapps/cocoon/woinary/relax2dtd/test.relaxを読み込みます。今度は変換が指定されているので、Cocoon2に含まれてるXSLTプロセッサ(xalan)を使って、$TOMCAT_HOME/webapps/cocoon/woinary/relax2dtd/relax2dtd.xslを適用します。これで、test.dtdが出来上がるわけです。さらにそれをtextとして出力しています。
§ が、ここで問題。IE5.5だとこのDTDファイルをなぜかXMLと勘違いするので、「XMLページを表示できません」エラーになってしまいました。IE6やMozilla 0.9.8では問題ないんですが。
§ ちなみに、RELAXのページの「リラックスのしかた」の頭の方にあるサンプルを変換するとこんな感じでちゃんと出てきます。って、よく見たらおかしいですね。
<!--
genarated by RELAX2DTD
moduleVersion : 1.2
relaxCoreVersion : 1.0
document type declaration Example:
<!DOCTYPE SYSTEM "" >
-->
<!ELEMENT (title,para*) >
<!ELEMENT (#PCDATA | em)* >
<!ELEMENT (#PCDATA | em)* >
<!ELEMENT (#PCDATA) >
<!ATTLIST para class NMTOKEN IMPLIED >
<!ATTLIST title class NMTOKEN IMPLIED number NMTOKEN REQUIRED >§ どうやら、このスタイルシートが書かれた時には「pred」となっていたものが、現在では「role」に変わってしまったので、うまく動かなかった様です。スタイルシートを単純にpredをroleに書き換えて動かすと、今度は大丈夫。
<!--
genarated by RELAX2DTD
moduleVersion : 1.2
relaxCoreVersion : 1.0
document type declaration Example:
<!DOCTYPE SYSTEM "" >
-->
<!ELEMENT doc (title,para*) >
<!ELEMENT para (#PCDATA | em)* >
<!ELEMENT title (#PCDATA | em)* >
<!ELEMENT em (#PCDATA) >
<!ATTLIST para class NMTOKEN IMPLIED >
<!ATTLIST title class NMTOKEN IMPLIED number NMTOKEN REQUIRED >§ まあ、実用性はあまり無いですけど、こんな事もできるという一例です。
§ 被害が広がっているとのことで、W32.Klez.E@mmの危険度が上がってるようです。毎月6日にファイルを壊すそうですから、その報告がたくさん来たのでしょう。
§ あと、マイクロソフトから「MS02-014:Windows Shellの未チェックのバッファにより、コードが実行される」の情報と、一部の環境向けの修正プログラムが公開されています。
§ Revision: 1.3 [今日の帰宅時間:おやすみ]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと9日
CivilizationIII完全日本語版発売まで、あと27日
今年も、あと298日
§
朝
7:50頃だったろうか。
§
秋葉原、新宿
買い物。神田から秋葉原まで徒歩。秋葉原から総武線。行きの電車の中で「時雨沢恵一/アリソン」を読んでいたら、夢中になってしまい、終わってしまった。あ、金曜日に色々買い過ぎて重くて会社に置いてきたんだっけ。月曜の朝に読む本がないや。
§
湘南新宿ライン乗車未遂
湘南新宿ラインに乗るつもりだったが、立ちよった駅構内のそば屋に忘れ物をして戻ったので乗車未遂。
§
NortonAntiVirusウィルス定義ファイル
2002/03/08版 対応ウィルス数59064
LiveUpdateでアップデート
§ Revision: 1.2 [今日の帰宅時間:おやすみ]
§
もう、いくつ寝ると...
アキハバラデパートフジヤマ開店まで、あと8日
CivilizationIII完全日本語版発売まで、あと26日
今年も、あと297日
§
朝
8:15頃起動。
§ Cocoon2によるリンク集ページをつくるべく、サイト情報を記述するXMLのためのDTDをつくる。と言っても、DTDを書くのもなんなので、Relaxのモジュールで定義。こんなの。こちらがRelax。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Webサイトを管理するためのXMLの定義
$Id: 20020310.diary,v 1.2 2002/03/10 23:09:32 yoshiaki Exp $
-->
<module
moduleVersion="1.0"
relaxCoreVersion="1.0"
targetNamespace=""
xmlns="http://www.xml.gr.jp/xmlns/relaxCore">
<!-- rootはwySiteである -->
<interface>
<export label="wySite"/>
</interface>
<!-- wySiteは、0個以上のsite要素だけから成る -->
<elementRule role="wySite">
<sequence occurs="*">
<ref label="site"/>
</sequence>
</elementRule>
<!-- siteは、内容として要素を持つ -->
<elementRule role="site">
<seqyence>
<ref label="name"/>
<ref label="url"/>
<ref label="category" occurs="+"/>
<ref label="memo" occurs="?"/>
<ref label="author" occurs="*"/>
</seqyence>
</elementRule>
<!-- siteの子要素は以下のとおり -->
<elementRule role="name" type="string"/>
<elementRule role="url" type="ID"/>
<elementRule role="category" type="string"/>
<elementRule role="author" type="string"/>
<elementRule role="memo" type="string"/>
<!-- url要素は以下の属性を持つ -->
<tag name="url">
<attribute name="check" required="false" type="ID"/>
<attribute name="options" required="false" type="NMTOKENS"/>
</tag>
<!-- author要素は以下の属性を持つ -->
<tag name="author">
<attribute name="mail" required="false" type="ID"/>
</tag>
</module>§ こちらが、生成したDTD。
<!--
genarated by RELAX2DTD
moduleVersion : 1.0
relaxCoreVersion : 1.0
document type declaration Example:
<!DOCTYPE SYSTEM "" >
-->
<!ELEMENT wySite ((site)*) >
<!ELEMENT site ( name url category+ author* memo? ) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT url (#PCDATA) >
<!ELEMENT category (#PCDATA) >
<!ELEMENT memo (#PCDATA) >
<!ELEMENT author (#PCDATA) >
<!ATTLIST url check ID #IMPLIED options NMTOKENS #IMPLIED >
<!ATTLIST author mail ID #IMPLIED >§ ちなみに、パーサを通すとエラーになります。あれ、カンマ無くていいんだっけ?。IMPLIEDに#が付いてないし。と言うわけで、修正したのがこれ。他にも、URL要素の内容にしていたものを属性に変更したりしていますけど。
<!ELEMENT wySite ((site)*) >
<!ELEMENT site ( name, url, category+, author*, memo? ) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT url EMPTY >
<!ELEMENT category (#PCDATA) >
<!ELEMENT memo (#PCDATA) >
<!ELEMENT author (#PCDATA) >
<!ATTLIST url view ID #REQUIRED check ID #IMPLIED options NMTOKENS #IMPLIED >
<!ATTLIST author mail ID #IMPLIED >§ とりあえず、だらだらとリンクが表示されるところまでは完成。いい加減なXSLTスタイルシートはこんな感じ。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="no" method="html"/>
<xsl:template match="/">
<html>
<head>
<title>C2版リンク集</title>
</head>
<body>
<p>
<xsl:apply-templates/>
</p>
</body>
</html>
</xsl:template>
<xsl:template match="site">
<a href="{url/@view}">
<xsl:value-of select="name"/>
</a> /
</xsl:template>
</xsl:stylesheet>