DTD2RELAX

$Id: DTD2RELAX-j.html,v 1.9 2000/09/24 05:43:14 nanba Exp $

[English]/[Japanese]

更新情報

あらまし

GUI version of converter

DTD2RELAX は DTD スキーマを RELAX モジュールに変換します。

変換例:

コマンドライン版と GUI 版があります。

ダウンロード

DTD2RELAX_*-bin.jar が実行可能 JAR ファイルです。XML4J 1.1.16 をお持ちでない場合は、DTD2RELAX_*-bin-XML4J.jar をどうぞ。

DTD2RELAX_*-src.zip がソースパッケージです。ソースコードとこの文書が含まれます。

(バージョン 1.1.0 以前のパッケージには DTD2RELAX_*.jar にソースファイルも含まれています。)


バージョンファイル変更点
1.1.1 DTD2RELAX_1_1_1-src.zip [50KB]
DTD2RELAX_1_1_1-bin.jar [25KB]
DTD2RELAX_1_1_1-bin-XML4J.jar [250KB]
デフォルト出力書式を変更. 出力書式指定を可能に.
1.1.0 DTD2RELAX_1_1_0.jar [28KB]
DTD2RELAX_1_1_0-with-XML4J_1_1_16.jar [250KB]
SAX API での出力をサポート.
1.0.2 DTD2RELAX_1_0_2.jar [24KB]
DTD2RELAX_1_0_2-with-XML4J_1_1_16.jar [250KB]
未サポートの出力 encoding 指定に対してエラーを出すように. UTF-16BE,LE 出力をサポート外に.
1.0.1 DTD2RELAX_1_0_1.jar [24KB]
DTD2RELAX_1_0_1-with-XML4J_1_1_16.jar [250KB]
新キーワードに対応. 標準出力対応. any 内容モデルのバグ修正.
1.0.0 DTD2RELAX_1_0_0.jar [24KB]
DTD2RELAX_1_0_0-with-XML4J_1_1_16.jar [250KB]

使い方

コマンドライン版:

java com.horobi.relax.DTD2RELAX [-e encoding] dtd [relax] topLevelElement

出力ファイル名 relax を省略すると標準出力に出力します。

GUI 版:

java com.horobi.relax.DTDtoRELAXConverterGUI

Java2 の場合は以下のようにもできます。

java -jar DTD2RELAX_1_1_1-bin.jar

SAX 出力:

バージョン 1.1.0 以降の DTD2RELAX では DTD から変換した RELAX モジュールのツリー構造を SAX イベントで出力できるようになりました。

SAX 出力を DocumehtHandler で受信するには、 com.horobi.relax.DTD2RELAXParser を使って 以下のようにします。

  DTD2RELAXParser dtd2relax = new DTD2RELAXParser();
  dtd2relax.setFinalElementType("spec");
  dtd2relax.setDocumentHandler(yourDocumentHandler);
  dtd2relax.parse("xmlspec.dtd");
	

出力書式:

バージョン 1.1.1 以降の DTD2RELAX では出力される RELAX モジュール ソースコードの書式がより読みやすい形に整形されるようになりました。

以前のバージョンと同じ書式が良い場合は以下のようにします(GUI 版でも同様です。)

java -Dcom.horobi.relax.printer=com.horobi.relax.RELAXPrinter com.horobi.relax.DTD2RELAX ...

システムプロパティ com.horobi.relax.printer で指定されたク ラスで出力が整形されます(ここには com.horobi.relax.SAXPrinter を実装した任意のクラスを指定できます。)

必要なもの

共通:

XML4J 1.1.16 が必要です。

DTD2RELAX は XML4J 2.0.x や Xerces-J では動きません。

コマンドライン版:

JDK 1.1.x 以上。

GUI 版:

JDK 1.1.x + Swing 1.1 または Java2.

バグなど

  • [共通] バージョン 1.0.0, 1.0.1 では UTF-16BE,LE の出力が不正です。 (UTF-16BE,LE は1.0.2 では非対応としました).
  • [GUI] 出力ファイル名を指定できません。
  • [GUI] JDK 1.1.x + Swing 1.1 環境でインジケータが回転しません。

今後の課題

  • [共通] Xerces-J を使う。

COPYRIGHT

copyright (c) 2000 by MURATA Makoto & NANBA Ryosuke. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.