2012-10-17 12 views

答えて

6

は、最終的にそれはあなたが集中したい場所によって異なります。

  • A 0以外のmaxOccurs、1、または単純型
  • 上無制限
  • 多くのファセット:JAXB(JSR-222)の実装は単に生成することができないXMLスキーマの詳細情報がありますモデルグループ

あなただけconvertin以上のJavaモデルを使用する場合はオブジェクトモデルは、最も重要なこと

ある場合オブジェクトとXMLの間のg。永続性のためJPAでそれを使用して)、Javaオブジェクトから始めることをお勧めします。これはあなたに最高のコントロールを与えます。

+0

JAXBを使用してREST Webサービスとの間でデータを転送しています。 XSDを生成するために使用できるbean/DTOが既に用意されていることがあります。時には最初から始め、これらの豆を作ります。私の推測では、私たちのオブジェクトモデルは、これらのケースで最も重要なものです、あなたは同意しますか? XSDは、データを転送するためのオブジェクトを作成するための一歩にすぎません。 – medloh

1

開始点に関する要件とシナリオによって異なります。 XMLの主なポイントの一つは、ポータブルデータ - されるべきであることを考えると、あなたの要件を考えると

、あなたは、Javaによってサポートされる必要があり、出力(XML)形式の最初を定義したいとgenerate Java files from an XSDを使用しています。、

1

プラットフォームや言語にかかわらず使用可能な転送形式を使用しているため、経験則として、特定のプログラミング言語からXSDを生成することは避けています。これは、あなたがJavaエンドポイント間でしか通信していないことを知っていれば問題ではないかもしれませんが(確かにこれは本当にですか?)

プログラミング言語の中立的な方法でインターフェイス/スキーマを定義することは、それ以外は同等です。あなたはPOJOとスキーマの両方を設計する機会を持っている場合は、既存またはレガシーコードとの統合されている場合は特に、例外の多くは、この一般的な原則にあります

...

+2

JAXB(JSR-222)の実装で生成されたXMLスキーマに固有のJavaはありません。 –

+0

(私は願っていません) – jahroy

+2

良いです。しかし、言語のスタイルと機能が異なるため、XSDから始める場合よりも、プログラミング言語から始める場合にはかなり異なるスキーマで終わることがよくあります。スキーマエディタから始めると、XMLの例から始まり、それからスキーマをリバースエンジニアリングする場合と比べて、異なるデザイン(ファクタリングが優れていますが、読みにくい)が生成される傾向があります。 – DNA

1

は、それは設計の問題だ - DOあなたは「完璧な」スキーマや「完璧な」Javaクラスを設計します。

システムインテグレーションのシナリオでは、別のシステムからあらかじめ定義されたXSDを与えてから、XSD - >クラスのみを使用することもできます方法。 XMLスキーマは、それがXMLスキーマから開始し、JAXBモデルを生成するのが最善である次に最も重要なこと

ある

場合:

関連する問題