ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

XMLとWebサーバについて

概要

 2000年3月現在、XMLデータを扱えるブラウザは、IE5.0ぐらいしかありません。 しかし、データ管理をXMLにすることには、非常に価値があります。 そこで、Webサーバ側で、XMLデータをHTMLデータに変換して表示する方法について説明します。 この方法だと、どのようなブラウザでも、XMLデータを表示することができるようになります。
 ただし、日本語表示に関しては、まだ表示できていません。

Cocoonとは

 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)

Cocoonの設定ファイル

cocoon.properties

Cocoonの動作確認

 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/


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp