Scala と XML の間でデータをマーシャリング/アンマーシャリングするためのさまざまなアプローチを検討しており、コミュニティからのフィードバックを得ることに関心があります (直接の知識/経験に基づいていることが望ましい)。
現在は JAXB を使用していますが、これは問題ありませんが、純粋な Scala ソリューションを期待しています。私は次のアプローチを検討しています:
Scala のビルトイン XML 機能を使用します。Scala->XML は簡単ですが、それ以外の方向はかなり面倒だと思います。一方、このアプローチは任意の翻訳ロジックをサポートします。
データ バインディング: scalaxbは現時点ではやや未熟なようで、現在のスキーマを処理できません。また、Scala 用の他のデータ バインディング ライブラリを知りません。JAXB と同様に、関連する変換をサポートするには追加の変換レイヤーが必要です。
XML ピックラー コンビネーター: GData Scala クライアントライブラリは XML ピックラー コンビネーターを提供しますが、最近のプロジェクト活動は低調で、現在の状況はわかりません。
質問:
- 私がリストしたアプローチ/ライブラリに関するあなたの経験は何ですか?
- それぞれの相対的な長所と短所は何ですか?
- 他に考慮すべきアプローチや Scala ライブラリはありますか?
編集:
この質問に対する私自身の回答に、ピッカー コンビネーターの初期の印象に関するメモをいくつか追加しましたが、実際にさまざまなアプローチを深く知っている人からのフィードバックに非常に興味があります。私が望んでいるのは、開発者が自分のニーズに合った適切なアプローチを選択するのに役立つ、ある程度包括的な比較です。