2000年3月現在、XMLデータを扱えるブラウザは、IE5.0ぐらいしかありません。
しかし、データ管理をXMLにすることには、非常に価値があります。
そこで、Webサーバ側で、XMLデータをHTMLデータに変換して表示する方法について説明します。
この方法だと、どのようなブラウザでも、XMLデータを表示することができるようになります。
ただし、日本語表示に関しては、まだ表示できていません。
Cocoonとは、Apache Projectから提供されている、XMLファイルをHTMLに変換するサーブレットです。
ブラウザから、*.xmlファイルに対してリクエストがあると、Cocoonは、XMLからHTMLに変換します。
従って、Netscape NavigatorやLynxなどのXMLに対応していないブラウザでも、XMLデータを参照することができます。
Cocoonには、Xerces(ザーシス)というXMLパーサと、Xalan(ザラン)というXSLレンダラ(XSLT)が組み込まれています。
XMLパーサは、XMLデータ(*.xml)を解析してメモリに展開し、XSLTが、スタイルシート(*.xsl)を参照してHTMLに変換します。
以下に、Cocoonのインストール方法について説明します。
URL | http://xml.apache.org/ |
---|---|
ファイル名 | Cocoon-1.7.tar.gz tar(約2.6MB) |
OS | Linux 2.2.9 |
---|---|
Webサーバ | Apache 1.3.6 |
Java環境 | JDK 1.2, JSDK 2.0, JServ 1.1 |
サーブレット | Cocoon 1.7 |
まず、ダウンロードしたファイルを展開します。
unix# cd /usr/local unix# mkdir classes unix# cd src unix# gzip -cd ../pub/Cocoon-1.7.tar.gz | tar -xvf - unix# cd cocoon-1.7 |
LDAPによるディレクトリサービスを使うようになっているので、無効にします。
また、リポジトリディレクトリを、絶対パスで指定します。
unix# vi conf/cocoon.properties #processor.type.ldap = org.apache.cocoon.processor.ldap.LdapProcessor #processor.xsp.repository = ./repository processor.xsp.repository = /usr/servlets/repository |
コピーコマンドでインストールします。
unix# cp conf/cocoon.properties /usr/local/classes/. unix# cp bin/* /usr/local/classes/. unix# cp lib/* /usr/local/classes/. |
JServの設定ファイルに、Cocoonの設定を追加します。
classpathで、XersisやXalanなどのモジュールを組み込みます。
Webサーバに対して、*.xmlのリクエストがあった場合には、Cocoonを起動するように指定し、再起動します。
unix# cd /etc/httpd/conf/jserv (cd /usr/local/conf/jserv) unix# vi jserv.properties wrapper.classpath=/usr/local/classes/cocoon.jar wrapper.classpath=/usr/local/classes/xerces_1_0_1.jar wrapper.classpath=/usr/local/classes/xalan_0_19_4.jar wrapper.classpath=/usr/local/classes/fop_0_12_1.jar unix# vi zone.properties repositories=/usr/local/servlets, /usr/local/classes servlet.org.apache.cocoon.Cocoon.initArgs=properties=/usr/local/classes/cocoon.properties unix# vi jserv.conf ApJServAction .xml /servlets/org.apache.cocoon.Cocoon unix# turboservice (apachectl restart) |
samplesにXMLデータのサンプルが格納されているので、WebサーバのDocumentRootにコピーします。 コピーしたら、Lynxや、InternetExplorerや、NetscapeNavigatorなどのブラウザを使って、動作確認します。 ここでは、Unix上で動作するテキストブラウザであるLynxを使っています。
unix# cp -pr samples /home/httpd/html/. (cp -pr samples /usr/local/htdocs/.) unix# lynx http://localhost/samples/ |