scalaxb 1.0.1

バグフィクスおよび細かな機能改善点

scalaxb 1.0.0

これは scalaxb 最初の安定版だ。
実際に使ってみて、バグを報告してくれたり、アイディアやコードを貢献してくれた多くの方々に感謝したい。

0.7 と互換性の無い変更点

Scala 2.10.0-RC1 に適応するためにいくつかの点が変更された。

  • implicit の衝突を回避するために、scalaxb パッケージオブジェクトは XMLStandardTypes を継承しなくなった。
  • 明示的に implicit をインポートするため scalaxb.XMLStandardTypes オブジェクトが加えられた。
  • HexBinary クラスと Base64Binary クラスの toIndexedSeq メソッドは vector という名前に変更された。
  • SOAP バインディングのためのデフォルトの http クライアントは Dispatch 0.9.5 にアップグレードされた。

バグフィクスおよび細かな機能改善点

  • 要素フォーム ("qualified") のチェック時にあったタイポを修正した #168。 Fixed by @mprihoda
  • base64Binary エンコーディングのより寛容な処理 #173。 Requested by @nmccready
  • nillable な choice を含む名前付きモデルグループから生成されるコードを修正した #162。Reported by @rajish
  • 複数の名前空間をまたいだ属性のマージを修正した #174。 Reporetd by @sbrownyarris
  • カメレオンスキーマの処理を修正した #176。 Reported by @Marza
  • 生成された trait の XMLFormat から孫型が抜けていたのを修正した #178。 Reported by @kidasoft
  • xs:boolean のパースを修正した #179。Fixed by @rssh

scalaxb 0.7.3

バグフィクス

  • ロガーのフォーマットを修正した。 #166. reported by @psnively

scalaxb 0.7.2

新しいロガー

@martiell により logula を置き換える log4j ラッパーがコントリビュートされた。 #161.
主な変更点はリゾルバーが Sonatype だけになることだ:

resolvers += "sonatype-public" at "https://oss.sonatype.org/content/groups/public"

バグフィクスおよび細かな機能改善点

  • SOAP エンコーディングの href の解決機能を追加した。 #160. reported by @greenrd
  • SI-5843 によって xsi:type 属性が他の属性を消してしまうバグの回避。 #159. reported by @psnively
  • 名前が空白文字で終わる場合に予約語がエスケープされないバグの修正。 #163. reported by @dohzya

scalaxb 0.7.1

バグフィクスおよび細かな機能改善点

  • RPC style の soap 処理を修正した。#153
  • インポートされたグループにより生成されるコードを修正した。#156

scalaxb 0.7.0

resolver の追加

ロガーが logula に変更された。
それにともない、sbt-scalaxb を利用している場合は resolver を追加する必要がある:

resolvers ++= Seq(
  "sonatype-public" at "https://oss.sonatype.org/content/groups/public",
  "repo.codahale.com" at "http://repo.codahale.com")

addSbtPlugin("org.scalaxb" % "sbt-scalaxb" % "0.7.0")

バグフィクスおよび細かな機能改善点

  • 入れ子になった単純型が重複だと誤検知されていたのを修正した。#136 reported by @bampoosa
  • sbt-scalaxb に抜けていた設定をいくつか追加した。 #144 reported by @devinus
  • xs:any の名前空間制約が ##any にデフォルトでなるよう修正した。 #147 reported by @champloo
  • soap 1.2 アウトプットラッパーを修正した。 #143
  • wsdl における混合複合型の処理を修正した。 #149 reported by @jcranky
  • wsdl におけるヘッダアウトプットの処理を修正した。 #150 reported by @jcranky

mvn-scalaxb

  • mvn-scalaxb は @martiell により更新された。
  • デプロイメントを Sonatype open source repository に変更した。
  • M2E 1.1 互換性: m2eclipse 1.1 から pom.xml を使用する場合に m2e connector plugin も lifecycle mapping metadata もいらなくなった。
  • scalaxb からの例外があった場合にスタックトレースを隠さないようにした。

複数のコンフィギュレーション

ここ最近 scalaxb を複数のコンフィギュレーションで使う sbt ビルドの設定の方法について何人かの方に聞かれたので、ちょっとみてみよう。
コードは以下から入手してほしい:

$ git clone -b multipleconfigs git://github.com/eed3si9n/scalaxb-sample.git
$ cd scalaxb-sample/multipleconfigs/

好きなエディタでディレクトリごと開く。src/ 内には main/scala/main.scalamain/xsd/ipo.xsdmain/xsd/w.xsd が入っている。

複数の config はいつ必要?

単一 config の場合は、全てのスキーマの型クラスのインスタンスが xmlprotocol.scala に含まれる。現行では、参照されているスキーマは一緒にコンパイルされないければいけないので、通常はこの方法を取ることになる。

それでは、いつ複数の config を使うべきだろうか? 複数のコンフィギュレーションを使うことで、スキーマを別々にコンパイルして xmlprotocol.scala を独立して生成することができる。分けることでコードのサイズを小さく抑えたり、別のパッケージ下に生成したい場合に有効だ。

scalaxb 0.6.8

バグフィクスおよび細かな機能改善点

  • 名前空間をまたぐ拡張の処理を修正した。#135 reported by @psnively
  • 余計な要素が最後に来た場合に拒否するようパーシングを修正した。#124
  • wsdl のパーシングを緩和し、トップ内の要素の順序が違っていても受け付けるようにした。 #87
  • wsdl が生成する baseAddress を def に変更した。#134 by @hedefalk

scalaxb 0.6.7

バグフィクスおよび細かな機能改善点

  • 重複する単純型のマージを追加した。#116 reported by @OlegYch
  • 代替グループのパーシングを修正した。#119 reported by @bmjsmith and #133 reported by @psnively
  • DataRecord の等価性を修正した。 #120 reported by @deanhiller
  • wsdl により生成されるパッケージ名を修正した。#117 reported by @hedefalk and @OlegYch
  • wsdl における空のインプットメッセージを処理を修正した。#122 reported by @hedefalk
  • wsdl により生成されるコードの可変長引数の処理を修正した。#125 reported by @hedefalk
  • soap 1.1 と soap 1.2 の同時使用を修正した。#130 reported by @ben-manes
  • wsdl により生成されるプロトコルのパッケージ名を修正した。

scalaxb 0.6.6

バグフィクスおよび細かな機能改善点

  • scalaxb の変更は @eed3si9n によって行われた
  • 生成される defaultScope を、デフォルトの名前空間を加えることで修正した。 #91 reported by @martiell
  • toXMLxs:anyAttribute の扱いを修正した。#95 reported by @deanhiller
  • スキーマが unqualifed であるとき生成される defaultScope を修正した。#97 reported by @deanhiller
  • xs:any が、名前空間バインディングを繰り返すのをマージすることで修正した。#98 reported by @deanhiller
  • 名前空間制約が namespace="##local" のときの xs:any の取り扱いを修正した。#101 reported by @deanhiller
  • xs:any の名前空間制約を無視する --lax-any オプションを追加した。#103 requested by @deanhiller
  • ヘルプメッセージを表示する --version オプションを追加した。#106 requested by @deanhiller
  • 属性由来のパラメータにプリフィックスを追加する --attribute-prefix オプションを追加した。#92 reported by ido
  • targetNamespace 無しの xs:include の処理を追加した。#102 reported by @berntan
  • ローカル宣言の名前空間バインディングの処理を追加した。#105 reporetd by gerri
  • QName のラウンドトリップを修正した。#114
  • オプション、複数、そして nillable なパラメータへのデフォルト引数を追加した。#113 requested by @OlegYch

wsdl/soap 関係

  • soap バインディングが第一要素ではない場合の wsdl の処理を修正した。#104
  • 属性を含む soap メッセージの処理を追加した。#99 reported by @berntan
  • soap ヘッダを含む soap メッセージの処理を追加した。#100 reported by @berntan
  • sbt-scalaxb と mvn-scalaxb が、wsdl を先に処理するように修正した。
  • 空のメッセージを含む wsdl の取り扱いを修正した。#93 reported by @mbroue
  • soap 1.1 での rpc スタイルの戻り値メッセージの取り扱いを修正した。#94 reported by @dkhenry

mvn-scalaxb

  • mvn-scalaxb の変更は @martiell によって行われた
  • 処理順を修正した。#110 reported by @hedefalk
  • パッケージ名のマッピングを修正した。#111 reporetd by @hedefalk
Syndicate content