since 2004/05

第10回 XMLとHTML




・・・これってEtcで同じタイトルがあるジャン

まぁいいや。

今回はXMLをHPにする時に、ちょっと問題が発生するので、その説明を。

その問題とはXMLだと、googleが見つけてくれないってこと。
このあたりはEtc側の「XMLとHTML」でも書いてるけど、googleはXMLファイルを見つけても
「ファイルタイプ:不明」と判断し、中まで見てくれないんですよ。

逆を言えば、googleに乗っけたくない場合は、XMLにしとけばOKってことです。

実際、ここも元々はXMLでやってたんですけどね。
ものの見事に、引っかからなくて。
悔しいのでフルアドレス入力して検索すると、一応検索に引っかかったけど
「ファイルタイプ:不明」
とか表示されて。

おいおい、XMLでHPって使えねーじゃん、ここまで作ったのにどうしよう・・・

で、思い立ったのがHTML化。

最初は泣く泣く手でHTMLに置き換えようかと思ったんですが。

調べてみると、XMLをHTMLにファイルとして出力してくれるものを発見。
それがXTというXSL(XSLT)プロセッサ。

ここでこのXSLプロセッサの説明を。
これはXMLをXSLを使って変換するツール(ちなみに変換させること自体はXSLT:XSLトランスフォームと
呼ばれる)で、この他にもいくつかあります。

その中に実は、IE(5.5以降)も入ります。
実はIEにもXSLプロセッサが内臓されてるんです。
だからIE5.5以降で直接XMLを開いても、ちゃんと表示されるわけです。
逆にそれ以前のものだと、XSLプロセッサが内臓されていないので表示されないってことです。

では。
このXTの使い方を説明します。(結構面倒です^^;)

まずXTから
download xt-20020426a-src.zip(~1140K for Windows)
をダウンロードします。
そして、それを解凍しておきます。(ここではd:\xt\に解凍したとします。)

次に、Shift_JIS対応にする為のもの(パーサと呼ばれてます)をダウンロードします。
XTはShift_JISに対応していない為(Shift_JISは日本語の全角文字を表す文字コードの
ことで、ASCIIコードで足りる国から見れば、特殊文字扱い。が最近はUNICODEが登場し
全角文字っていうか2バイト文字コードの共通化が行われていますっていうか、この辺
書いてると長くなるので割愛)、これが必要となります。
まず、ここの中から、
Xerces-J-bin.2.5.0.zip
をダウンロードし、解凍します。(ここではd:\xerces-2_5_0\に解凍したとします。)

・・・と。
ちょっと忘れてました^^;
このXercesはJAVAなんですよ。
なので、ここでもう一つ、JAVA2RunTimeのインストールも必要になります。
ここ(Java)からダウンロードしてください。
インストール方法もこの中に載ってますので、そちらを参考にしてください。

・・・・・・・ふぅ。

やっとこれで環境が揃いました。
確認すると、ここまでで

d:\xt\           XTを解凍したもの
d:\xerces-2_5_0\ xercesを解凍したもの
Java2Runtimeのインストール

以上を揃えました。

ここまできたら、後は使うだけです。
では使い方を。

まずバッチファイル(えーと手順ファイルって感じです。このファイルをダブルクリックすると
この中に書かれた事を実行してくれます。中身は普通のテキストで拡張子が.batなだけです)を作ります。

set XTHOME=d:\xt set CP=%XTHOME%\xt.jar;%XTHOME%\lib\xp.jar;%XTHOME%\lib\xml-apis.jar set XERCES=d:\xerces-2_5_0\xercesImpl.jar set SAXDRIVER=com.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser java -cp %CP%;%XERCES%;%SMPLES%;%XMLAPIS% -D%SAXDRIVER% com.jclark.xsl.sax.Driver %*

もしインストール先がここと違う場合は、XTHOMEの部分と、XERCESの部分をインストールしたフォルダに 変更してください。 ここでやってることの細かい説明は・・・なしです^^; 要は、XTとXERCESのパスを設定して、それを使ってjavaで作られたXTを実行して変換するよー ってことです。 で、このファイル名をxt.batとします。 後はこれを実行するだけ。 実行方法はコマンドプロンプトを開いて、

d:\>xt XMLファイル名 XSLファイル名 HTMLファイル名

これでOK・・・ですが、このファイル名って言うのが曲者。 ここではフルパスを指定する必要があります。 これだとめんどくさいので、このバッチファイルをXMLのあるフォルダに入れておけば ファイル名だけで済みます。(ただしXSLも同じフォルダに入れておく必要あり) 更にそれも面倒だと言う方は、バッチファイルを

set XTHOME=d:\xt set CP=%XTHOME%\xt.jar;%XTHOME%\lib\xp.jar;%XTHOME%\lib\xml-apis.jar set XERCES=d:\xerces-2_5_0\xercesImpl.jar set SAXDRIVER=com.jclark.xsl.sax.parser=org.apache.xerces.parsers.SAXParser java -cp %CP%;%XERCES%;%SMPLES%;%XMLAPIS% -D%SAXDRIVER% com.jclark.xsl.sax.Driver d :\xml\sample01.xml d:\xml\sample01.xsl d:\html\sample01.html

こうしとけば、バッチファイルを引数無しの実行で、HTMLが出力されます。 うーん、インストールがかなり面倒ですね・・・ でも最初だけなので、頑張ってみてください。(管理人も頑張りました^^;) もしここの通りやっても動かねーぞコンニャローってことがあれば、BBSにお願いします。 できる限り対応してみます・・・もし力及ばなくても許して^^; そうそれば、XMLをHTMLに簡単に変換できます。 後はこのHTMLをアップロードすればOKです。 XMLはアップする必要はありません。(CSSはアップしないといけません。HTMLが参照しますので。) さて。 だらだら今までXMLについて、書いてきましたが。 ここで終了です。 元々ここまで書いたら、やめるつもりだったんで・・・ね。 後は、調べたり試したりしながら、いろんなサイトを作ってみてください。 管理人は(一度作っちゃえば)HTMLよりXMLの方が全然楽なので、そこを重点に ここのサイトを作りましたが、他にもデザイン重視や、機能重視など、いろんなアプローチで 作ってみると楽しいと思います。(ここもいずれはそうなるかも。まぁ気まぐれで。) といったわけで。 ここまで見て頂いた方々、お疲れ様でした。

kajikaji
kajikaji