データXMLを変更した。


属性を1つ追加して、数字参照の元号年を格納した。


あとは、元号年で検索するときのインプットデータを、数字参照に変換してデータXMLに照合するようにすれば、

西暦年が表示されるはず。

・・・・・・・・・・

php5を使えるサーバーのアカウントがついに取れた。・・・・・しばし感慨にひたる。


さっそく、ウィンドウズのローカルで動かしていた、「西暦から元号年」・「元号年から西暦」変換コードを載せて試てみた。


「西暦から元号年」はエラーなく動いたが、「元号年から西暦」は" Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /xxxx/xxxx/xxxx.php on line 57 "という、これまで見たことのないエラーがでてしまう。


S_JIS、EUCとエンコードを変えてみたがダメだったので数字参照で元号を書いて、データXMLにいれてみよう。


ちょっと、私には、大工事になりそう。

2ヶ月近くコードをさわっていないと、なにがなんだか、訳がわからなくなっている。
元号年と西暦年の互換コードを、復習のため、一行づつコードを追ってみた。
今思うと、なにも libxml を使わなくとも、PHP の配列で足りてしまうのではないか。
だだ、データが大きくなると、PHPで読み込み切れるかが問題。これはPHPというよりPCのメモリ量の問題だろう。


[データ(西暦年・元号年).xml]作成
1600~2006年と、それに対応する慶長5~平成18のリストから、データ(西暦年・元号年).xmlを作成。
互換にするため、データ(西暦年・元号年).xmlとデータ(元号年・西暦年).xmlの2種類作った。

[元号年(西暦年)検索.xsl]作成
1600以降の任意の西暦(元号)年から元号(西暦)年を検索する。

できあがったデータ(西暦年・元号年).xmlと、元号年(西暦年)検索.xslを" new DomDocument "して結果を表示する。


というごく簡単なもので、検索というより Key + Value の値を表示させるものに他ならない。
「ある文章からある語を検索する」ということが xsl で可能なのか、時間のあるときに探ってみたい。

とうとう、5月ー6月の2ヶ月の間、新サーバー開設を待ちつづけてしまった。
Web暦では1年間!!
php4用はいくらでも、申し込めるのだが、もう少しかかりそうだ。
コード検証は、localhost だけになってしまうが、「試行錯誤の覚書」を再開しよう。

ここ3年ほど利用している"無料サーバーさん"が、"php5"用サーバーを新規オープンしてくれるのを待っています。

xml と php5 を使って"ポアマンズ データベース"を探って行こうと思ってます。

このところXMLを使って、西暦と元号年を相互変換するコードにかかりきりだった。


これまでは mysql で相互変換させていた。


『php5で、データとなるxmlと、検索テンプレートとなるxslを生成して、同じくphp5で、そのxmlと xslをDomDocument にして、データの値を表示させる』 というもの。


開発環境のlocalhostで完成させ、いざwebに載せてみて、思い出した。


「使用サーバーはphp4」ということを。 何度か、手直しをして upload と動作確認、と禁止事項をやってみたが、うまくいかない。 そのうちコードのデザインが狂ってきた。


(><;)・・・・・


本番と同じ開発環境の必要性を痛感した。

1906年から2005年までの100カレ・PDFを出力した。


今回は A4 で2枚に分けて表示している。 印刷はできる。 ちなみにフォント・サイズは"2px"。


うちのプリンターでは、”なんとか識別できる”という程度だ。


この『1906-2005カレンダー』よる、自分の誕生日の曜日が正しいか検証するために、グーグルしてみた。


"http://www5a.biglobe.ne.jp/~accent/kazeno/calendar/ " ココで1873年から2029年(他)までの1年ものカレンダーが見られる。


-----+++++-----+++++-----+++++-----+++++-----+++++-----+++++-----


前回と同じく、"http://foolhill.s50.xrea.com/calendar/input.html "でメールアドレスを入力してもらえば、ダウンロード・サイトをご連絡しています。

2006~2105年・100カレ(100年カレンダーの略)を基にして、1906~2005年・100カレを生成してみた。


・・が、2005年から2006年へ続けてみると、曜日がずれてしまう。2000年をうるう年にしてみても、まだ一日ずれる。


・・・・<しばし、時の経過>・・・・



原因は『2006年を基準に遡らなければいけない』。


ということは、(2006-2105)カレンダーのスタイルシートは、過去の百年間には使えない。


未来の、2106-2205には使える。(「100で割れる年は平年、400で割れる年はうるう年」の調整は必要。)


そこで、[今回の目標:1906~2005年のカレンダーを出力する] ための仕様を考えてみた。


・それぞれ7つのうるう年と平年を組み合わせた28年間を1サイクルとして表示する。
・上記要件を関数化する。
・区切りの年数は100年なので97年以降は便宜付け加える。


これで、しばらくやってみよう。