DynamicDocument Export

DynamicDocument Export とは、DynamicDocumentの内容(HTML)をローカルファイルに出力する事により、 サーバ(Servlet,DB)がない環境でも表示可能にする 機能になります。
ローカルファイルに出力することにより、DynamicDocumentを納品物としてCDに焼いたりする事も可能になります。

1. 実行クラス と オプション

実行クラス:jp.ne.mki.wedge.dyndoc.ExportFile

実行時オプション(プログラム引数):

  1. driver=org.postgresql.Driver
    ドライバの名称を設定します。必須
    • PostgeSQL
      org.postgresql.Driver
    • Oracle
      oracle.jdbc.driver.OracleDriver
    • DB2
      COM.ibm.db2.jdbc.net.DB2Driver
    • HSQLDB
      org.hsqldb.jdbcDriver

  2. db_url=jdbc:postgresql://192.168.1.1/visualframerp?encoding=EUC_JP
    データベースとの接続文字列を設定します。必須
    以下 hostname、dbname などには環境に合わせて値を埋め込みます。
    • PostgeSQL
      jdbc:postgresql://{hostname}/{dbname}?encoding=EUC_JP
    • Oracle
      jdbc:oracle:thin:@{hostname}:1521:ORCL
    • DB2
      jdbc:db2://{hostname}:6789/{dbname}
    • HSQLDB
      jdbc:hsqldb:hsql://localhost:9002:{dbname}

  3. db_user=username
    データベース接続ユーザ名を設定します。必須
  4. db_pass=password
    データベース接続ユーザパスワードを設定します。必須
  5. content=html
    出力形式を設定します。必須
    • html
      HTMLに変換して出力します。(JDK1.4のXSLTを使用)
    • xml
      xml 形式にて出力します。Xsl指定込みにて出力します。IE6など、XMLパーサー込みのブラウザでは 変換後のHTMLの表示にて参照が可能です。
    • xml2
      xml形式にて出力します。MSXSLによるXSLTを目的としたXMLを出力します。[xml]との差は、リンクのパス が ***.html となる事だけです。

  6. product=0
    製品種別を指定します。必須
    • 0
      Webtribe
    • 1
      VisualFrame

  7. dir_export=./
    出力パスを指定します。デフォルトはカレントパス[./]になります。
  8. dir_javadoc=http://www.pactera.jp/developer/docs/webtribe/release113/javadoc/
    製品標準ルールのJavaDocのリンクパスを指定します。
  9. dir_javadoc_user=../../javadoc/
    ユーザルールのJavaDocのリンクパスを指定します。
    デフォルトは ../../javadoc/ になります。
  10. camc=testframe1
    Export対象クライアント画面の 物理名称 を指定します。
    この指定は複数記述する事が可能です。
    設定無しで全ての画面が出力対象になります。

 

2. 実行方法

実行環境には以下が満たされている必要があります。

2-1. 環境セットアップ

  1. 実行モジュールを解凍し、任意のフォルダに配置する。
  2. .\libフォルダに必要なjarを格納する
    1.ServletJar(servlet-2_3-fcs-classfiles.zip など) Download by java.sun.com
    2.msxsl.exe (Windowsにて使用時) Download by msdn.microsoft.com
    3.JDBCドライバ (Oracle: classes12.zip など)
  3. .\setenv.bat の内容を編集する
    JAVA_HOME の設定
    必要なJarのクラスパス設定
    リポジトリDBの接続情報

2-2. 実行BATファイル

実行のために3つのBATファイルが用意されています。目的に応じて適切なBATファイルより起動してください。

  1. exportHtmlByMsXsl.bat
    XMLを出力し、HTML変換作業 は MSXSL を使用します。
    MSXSLとは Microsoft社のXMLパーサーになり、Windows上にて動作します。
    MSXSL3以上がインストールされているWindowsにて使用が可能です。(IE6以降をお使いのPCでは MSXSL3が既にインストールされています)
    (\lib\msxsl.exe が必要です)
  2. exportHtml.bat
    HTMLを出力します。
    HTML変換作業は JDK1.4 に含まれるXMLパーサーを使用します。
    このXMLパーサーは時間がかかります。時間を優先したい場合には exportHtmlByMsXsl.bat を使用してください。
  3. exportXml.bat
    XMLを出力します。
    XSLのリンクを含めて出力しますので、IE6などでは XML開くとHTMLにて表示ができます。
    HTML変換作業がないため、処理は一番高速になります。

これらBATファイルでなくても、jp.ne.mki.wedge.dyndoc.ExportFileを起動ファイルに指定し、 適切なパラメータを設定、必要なjarをクラスパスに設定すれば実行は可能です

2-3. 出力結果

出力が完了すると、実行ディレクトリに index.html が生成されます。そのHTMLのリンクより実行結果を参照する事ができます。

HTML出力(上記(1)(2))した場合には以下のフォルダがあれば表示が可能です。

XML出力(上記(3))した場合には以下のフォルダがあれば表示が可能です。

2-4. トラブルシューティング

Exception発生時はカレントディレクトリに error.log が出力されます。
以下のエラーが発生する可能性があります。エラー内容に基づき設定変更、再度実行してください。

  1. java.lang.RuntimeException: XSLT ERROR.
    ディレクトリに日本語が含まれている可能性があります。
    英数字のみのディレクトリにて実行してください。

    exportHtml.batにより、javaのXMLパーサーにてXSLTを実行する際には、日本語名のディレクトリでは実行できません。(ex.C:\Documents and Settings\administrator\デスクトップ)
    実行ディレクトリを英数字のみのディレクトリ(ex.c:/temp/dyndoc)にして実行しなおしてください
  2. java.lang.RuntimeException: DriverClass not found.Please set a driver as a class path. driver=[****]
    JDBCドライバのライブラリがクラスパスに含まれていないエラーです。
    setenv.bat のクラスパス設定に、DBの種類により適切なライブラリ(ex.oracle:classes12.zip)パスを記述してください。
    ライブラリが、指定したパスに存在するか確認してください。
    ドライバクラス名(ex.oracle.jdbc.driver.OracleDriver)が正しいか確認してください。
  3. java.lang.RuntimeException: ServletClass not found.Please set a servletClass as a class path.
    Servletクラスライブラリがクラスパスに含まれていないエラーです。
    setenv.bat のクラスパス設定に、Servletクラスライブラリ(ex.servlet-2_3-fcs-classfiles.zip)パスを記述してください。
    ライブラリが、指定したパスに存在するか確認してください。
  4. java.lang.RuntimeException: Database was not connectable. dbUrl=[****] dbUser=[****] dbPass=[****]
    DataBaseに接続できないエラーです。
    指定DataBaseが起動しているか確認してください。
    指定ユーザ、指定パスワードにてログインできるかどうか確認してください。
    実行端末にて、指定DatabaseにJDBC接続可能な状態(LAN環境など)か確認してください。
  5. 指定されたパスが見つかりません。
    JAVA_HOMEのパス(setenv.bat)が正しいか確認してください。
  6. Exception in thread "main" java.lang.NoClassDefFoundError: jp/ne/mki/wedge/dyndoc/ExportFile
    付属の DynamicDocument.jar がクラスパスに含まれていないエラーです。
    setenv.bat のクラスパス設定に、DynamicDocument.jarパスを記述してください。
    このエラーは実行コンソールに出力されます。error.logには出力されません。
  7. 'xslt.bat' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
    C:\dyndoc\xslt.bat が見つかりませんでした。

    msxsl.exe が見つからないエラーです。
    libディレクトリに、msxsl.exeをダウンロードし配置してください。
    このエラーは実行コンソールに出力されます。error.logには出力されません。
    このエラー exportHtmlByMsXsl.bat 実行時のみ発生します。
  8. java.lang.NoClassDefFoundError: org/apache/xpath/XPathAPI
    org/apache/xpath クラスが見つからないエラーです。
    このクラスはJDK1.4には含まれていますが、JDK1.5には含まれていません。
    JDK1.4にて実行するか、XalanなどのXMLパーサーをクラスパスに追加して実行してください。