scalaxb

scalaxbはScalaのためのXMLデータバインディングツールで,W3C XML Schema (xsd) や Web Services Description Language (wsdl) から case class を生成します。

現在の状況

最新版は Maven Central です。
結構色々ちゃんと機能してない所があります。好みのスキーマからScalaコードを生成してみて結果を報告してもらえると助かります。

用法

$ scalaxb [オプション] <スキーマファイル>...
 
  -d <ディレクトリ> | --outdir <ディレクトリ>
        ファイルは<ディレクトリ>に生成される
  -p <パッケージ> | --default-package <パッケージ>
        対象パッケージを指定する
  --package:<名前空間URI>=<パッケージ>
        <名前空間URI>の対象パッケージを指定する
  --class-prefix <プレフィックス>
        生成されるクラス名のプレフィックスを指定する
  --param-prefix <プレフィックス>
        生成される仮引数名のプレフィックスを指定する
  --prepend-family
        クラス名にファミリー名を前置する
  --wrap-contents <複合型名>
        別の case class に追い出す複合型を指定する
  --contents-limit <サイズ>
        区分けされる長いコンテンツの上限を指定する (デフォルト: 20)
  --chunk-size <サイズ>
        区分けされた一区切りのサイズ (デフォルト: 10)
  --package-dir
        パッケージの構成のディレクトリを生成する
  --protocol-file <name.scala>
        プロトコルのファイル名 (xmlprotocol.scala)
  --protocol-package <パッケージ>
        プロトコルの対象パッケージ
  --no-runtime
        ランタイムファイルを省く
  --lax-any
        xs:any の名前空間の制約を緩和する
  --blocking
        ブロッキングする SOAP クライアントを生成する
  --dispatch-version <version>
        Dispatch バージョン (デフォルト: 0.11.1)
  -v | --verbose
        デバッグ用うるさいモード
  --help
        このメッセージを表示する
  --version
        バージョン情報を表示する
  <スキーマファイル>...
        変換されるスキーマファイル