問題タブ [oxm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 最高のJava OXMライブラリは何ですか?
私はしばらくの間開発者として働いていましたが、幸運なことに、XML を扱う作業をほとんど避けてきました。これで、いくつかの Web サービスと対話する必要があるプロジェクトができました。オブジェクトから XML へのマッピング ソリューションを使用したいと考えています。
私が知っているのはJAXBだけです。それは一緒に行くのが最善ですか?他の推奨事項はありますか?
1 つの落とし穴 - 私は Java 1.4 を使用して立ち往生しているため、注釈を使用して何もできません。
java - CastorでのコレクションのXMLへのマッピング
Castorを使用してPOJOをXMLにマップしようとしています。
アイテムのコレクションを持つ注文があるとしましょう...次のようなxmlを実現する方法はありますか?
私は似たようなものを作ることができましたが、<items>
ノードはありませんでした。これは他の場合には問題になりませんが、私のXMLは厳密なXSDスキーマに準拠している必要があるため、そのようにする必要があります。
ありがとう!
私は、アイテムのリストのみを含む新しいJavaオブジェクト(ノードになる)を作成することを含む一種の「回避策」について考えています...誰かがより良いアプローチを考えることができますか?今から100名の賞金があります!
.net - .NET での XML バインディング ソリューション
.net に適切な xml バインディング (マッピング) ソリューション (OXM) はありますか? 必要なのは、任意の xml からモデル クラスを生成することです。今のところ、JaXB 1/2、JiBX、Castor XML、Java の XMLBeans のようなものは見つかりません。
java - ジェネリック コレクションと XStream
List<Person>
たとえば、 to<friends>
とList<Things>
toを(xstream を使用して) マップする方法はあり<stuff>
ますか?
ありがとう!
java - Spring oxmがcatchステートメントの近くで型キャストエラーを取得しています
catch ステートメントの近くでエラーが発生しています Error : required java.lang.Throwabe found org.springframework.oxm.XmlMappingException
web-services - (Java)分散コンポーネント(Webサービスやソケットなど)間でパラメーターとしてスキーマ検証済みXMLドキュメントを渡すにはどうすればよいですか?
これがシナリオの説明であり、使用されたアプローチについてのコメントもいただければ幸いです。
私のアプリケーションの中核は、P2Pデータベースに裏打ちされた一連のWebサービスです。1つのサービスは単純なXMLベースのレコードを受け入れます(私はそのための汎用スキーマを設計しました)。サービスはこのデータを処理し(主に特定の基準に基づいてキーを作成します)、作成されたキーとともに元のデータをリスニングP2Pノードの1つにあるリスニングSocketServerに渡します。このキーとデータのペアは適切なノードにルーティングされ、XMLデータベースにデータ(キーにIDとして関連付けられている)が格納されます。
2番目のサービスは、同じスキーマに基づいて構造化されているが、以前に保存されたものからの検索と照合に使用されるオプションの値を持つクエリドキュメントを受け入れます。したがって、2番目のサービスはこのクエリを(適切なキーを使用して)P2P部分に渡し、結果を取得してサービスクライアントに返します。
たとえば、最初のサービスに送信された元のレコードが<attr1> value1 </ attr1> <attr2> value2 </ attr2>(スキーマで義務付けられている他のメタデータとともに属性リスト)である場合、2番目のサービスはそのレコードを取得する必要があります。受信したクエリは<attr2>value2</attr2>でした
(基になるXMLデータベースがここで値の完全一致の代わりに許可するので、後でより複雑なXPathまたはXQueryクエリを使用することを考えることができますが、それはこの段階では重要ではありません。私が取り組んでいる3番目のサービスもありますが、それは取得に依存します最初の2つは適切な形で最初に)
だから私の質問は:
1)Webサービスのパラメーターとしてどのデータ型を使用する必要がありますか?この使用法にスキーマを利用するにはどうすればよいですか?このためにさまざまなXMLバインディングフレームワーク(特にJAXBとSDO)を検討していましたが、続行する方法がわかりませんでした。
2)元の汎用スキーマに基づいて動的に作成されたテンプレートを使用するように2つのサービス(ストアと検索と呼びます)を拡張するにはどうすればよいですか?サービスは引き続きメインスキーマタイプのドキュメントを受け入れますが、テンプレートに基づく内部属性リストがあります。たとえば、template1はintのみを必要とし、template2は(float)と(string)を必要とします。現在のJSPベースのプロトタイプは手動でこのテンプレートを作成しますが、手動で組み立てられたXMLドキュメント(<>タグがテキストに分散されている)として、タイプチェックがまったくないので、もっとうまくやれると思いました!
3)このシステムに簡単にアクセスするためのクイックWebアプリのプロトタイプを生成することは可能ですか(ここでもスキーマ(&templates)を使用して適切なXMLメッセージ構造を編集しますか?私が探しているのは(人間の)ユーザーが選択することですテンプレートを作成し、「空欄に記入」して送信するだけで、派手なルックアンドフィールは必要ありません。
4)ソケット間での通信にこのXMLメッセージタイプを使用できますか、またはどのように使用できますか?
5)サービスをステートレスEJBとしてデプロイするかどうかは重要ですか?それらをEJBにする必要がありますか、それともサーブレットで十分ですか?
現在、現在の要件のサブセットを対象とした(以前の開発者からの)基本的な実装があります(サービスを改善し、新しい派生サービスを追加しています)が、スキーマも検証も行われず、データは基本として渡されます文字列、したがって弱い型付けを提供し、手動解析を更新するのは困難です。これをより強力なバインドされたタイピングに更新したい理由は、システム全体に簡単に渡されるデータスキーマの変更を導入するためです。基本的に、システムを使用するデータ形式/スキーマとの結合をできるだけ少なくしたいと思います。現在のプロトタイプはデータと結合しすぎているため、システムを壊さずにデータを変更することは非常に困難です。
最初の調査でJAXBを検討しましたが、静的型付けのみをサポートしています(後で使用するために保持したいスキーマ/型を実行時に動的に作成することはできません)。そこで、動的型と静的型の両方を備えたSDOに出くわしました。問題は、このアプローチを使用する十分なコミュニティや例がないため、リスクがあるように見えることです(Apache TuscanyおよびEclipselinkの実装の例は非常に少なく、5年以上経過していない完全な例を見つけることができませんでした(これはhttp://www.ibm.com/developerworks/java/library/j-sdo/)であり、SDOのXMLユースケースにも取り組んでいます(ほとんどの場合、SDOのリレーショナル使用法に焦点を当てているようです)。
プログラミングの助けを求めるのはこれが初めてです(ここや他の場所で)ので、ご容赦ください。ネットでたくさん検索しましたが、あちこちで足りないものしか見つかりませんでした。
コメントやヒントは本当にありがたいです。
trfndr
編集
私は一つのことを忘れました:検索サービスはどのように結果を取り戻すのでしょうか?クライアントソケット接続を開いているため、結果を同期的に返す方法はありません。現在の実装では、サービスクライアントがランダムポートでリスニングソケットを開き、この連絡先情報をクエリドキュメントに配置することで、これに取り組んでいます。検索Webサービスがクエリをp2p部分に送信すると、終了します。p2pは、結果をWS呼び出しとして別のサービスに送信し、別のサービスが結果をサービスクライアントソケットに送り返します。私はこのアプローチがあまり好きではありませんが、もっとエレガントな解決策はありますか?
java - Jibx - 値と属性を持つタグをアンマーシャリング/マーシャリングする方法は?
申し訳ありませんが、私は怠け者になるつもりはありませんでした。わかりましたここに質問があります:私はいくつかのタグがタグ表記で値と属性の両方を持っている上記のxmlのブロックを持つxml構造を持っています(MyTagには12の値があり、属性名があります)。Jibx を使用して、そのような場合のバインディング スキーマを作成する方法を説明します。明らかに、値のみの xml タグまたはタグ値のない属性を持つ xml タグの場合は正常ですが、両方がある場合、どうすればよいかわかりません。ありがとう。
jaxb - JAXB - 再利用のためのモジュールの作成
JAXB はモジュラーコード生成をサポートしていますか?
私のバックグラウンドのほとんどは、XML マーシャリング用の JibX に関するものですが、従来の理由から、当社では JAXB を使用しています。
JIBX で使用できる機能の 1 つは、モジュラー コード生成でした。メイン スキーマがあるとしますが、そのスキーマにはいくつかの異なるエンベロープがあります。JibX を使用すると、JibX で処理されたコア スキーマから jar ファイルを作成でき、別のプロジェクトでエンベロープ スキーマを JibX して、エンベロープごとにコア スキーマのコード生成を複製する代わりに、共有 jar を指すだけで済みます。 .
JAXB がこれを処理する方法はまだわかりません。このようなことで成功した人はいますか?
前もってありがとう、ロイ
java - Java オブジェクトを XML に変換する
Java ライブラリ内の Java オブジェクトを XML ファイルに変換しようとしています。しかし、私はこの問題を抱えています:
それから私はこの例外を得ました:
私が変更した場合:JAXBContext jc = JAXBContext.newInstance("libraryA.a");
に:
次に、別の例外があります。
java - JAXB アノテーションを使用したプロパティのグループ化
、、、、およびProduct
のプロパティをname
持つクラスがありdateCreated
、JAXB マーシャリングを使用しています。次のような出力が欲しいです:createdByUser
dateModified
modifiedByUser
AuditInfo
しかし、理想的には、これらのプロパティの周りに別のラッパー クラスを作成する必要はありません。
JAXB アノテーションでこれを行う方法はありますか? 見まし@XmlElementWrapper
たが、それはコレクション専用です。