SSブログ

XSLTとCGIの使い分け [XML]

古典テキストをオンラインで編集するためのシステムを考え中。

 最初、できるだけXSLTで処理しようと思っていたが、実際に考え出すと、ユーザーへの様々な便宜を提供するためには、CGIなりPHPなりで処理を書いた方が楽だと思うようになった。要するに、XMLのデータをXHTMLとして表示する部分のみをXSLTに受け持たせ、それ以外のシステム全体のロジックはCGIまたはPHPで構築した方がよさそうだ。

 たとえば、ユーザーが、テキストのある部分(それをどのような単位で提供するかは、また後で考えることにする。)を編集したいと思ったとき、そのテキスト部分の直ぐ上に[編集]というリンクを作っておき、そこをクリックしたら、別のウィンドウに、そのテキスト部分のXMLのソースが、編集できるような形で表示されるようにする。ちょうど、このブログで、今読んでいる記事を編集しようとする場合、タイトルの横に現れている[編集]というリンクをクリックすると、編集用のフォームが開き、その記事がテキスト・エリアに読み込まれているようなものだ。

 これを実現するには、その[編集]というリンクがCGIを呼び出すリンクになっていて、テキストのその部分を特定するアドレスを含んでいるようにする。そして、それを手縢りにCGIまたはPHPが、元のXMLのデータからその部分のみを取り出して、別ウィンドウに表示する。その編集が終わったら、フォームの送信ボタンで、ふたたびCGIまはたPHPを呼び出し、編集済みデータを渡す。CGIスクリプトは、そのデータで元のXMLのデータの対応部分を更新する。その後、元のXMLの表示を再読込して更新する。

 XSLTによるXMLのXHTMLへの変換は、表示するときにではなく、予めXMLのデータが更新されたときにXHTMLを生成してしまうようにすれば、パフォーマンスが改善するので、部分テキストの更新の場合も、XMLのデータの更新の直後にそれをXSLTでXHTMLへと変換してしまっておく。変換そのものは、だから、CGIスクリプトあるいはPHPスクリプトから変換コマンドを呼び出して行うようにする。場合によっては、複数のXSLTを用いて、複数のタイプのXHTMLを生成することも考えられる。

 XSLTはXMLをXHTMLへ変換すめためのもので、その表示デザインそのものはCSSを用いる。つまり、XSLTはXMLをXHTMLに変換するとき、CSSでXHTMLを表示するように変換する。だから、同時にCSSも設計して用意しておく必要がある。

 こうなると、一番神経を使い、細かい管理をしなければいけないのは、XSLTの部分ではなく、CGIスクリプトあるいはPHPスクリプトの部分だということが分かる。

 次は、このあたりの具体的な仕組みを考えことになる。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。