問題タブ [xjb]

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.

0 投票する
1 に答える
84 参照

java - 同一のxs:simpleContent要素に対して単一のクラスマッピングを作成することは可能ですか?

私は外部から供給されたXSDを持っています。これはすべて同一であり、オプションの通貨属性を持つ価格を表す多くの要素を持っています。

これを多くの静的クラスではなく共通クラスに変換したいのですが、これはXJBマッピングドキュメントで可能ですか?

0 投票する
1 に答える
11027 参照

java - Jaxbとバインディングを使用して、XSDで参照される要素に対して生成された変数の名前を変更します

今日、私には解決できない気が遠くなるような人がいます。説明と例から始めます。

2つのXSDファイルがあります。1つのXSDファイルは、他の要素の1つを参照します。

最初のXSD-ReportInfo.xsd

2番目のXSD-ReportInfoRecordSet.xsd

ReportInfoRecordSetは、ReportInfoWrapper(ReportInfoのルート要素)を参照します。ReportInfoRecordSetでこの参照される要素の生成された名前を変更するには、JAXBBindingsファイルで何を定義するかを知る必要があります。これは現在生成されているものです:

質問 どんな助けやアドバイスも大いに感謝するでしょう。ReportInfoの現在のバインディングファイルが破損するため、ReportInfoのルート要素を複雑なタイプにすることはできません。次の表記で変数の名前を定義する方法はありますか?以下のこの例は、何らかの理由で機能しないことに注意してください(ノードターゲティングの問題があると思います)。

ノート

私がここで何をしようとしているのかを簡単に確認する方法は、通常の開発用語で説明できます。

ReportInfoは「クラス」です

ReportInfoRecordSetは、ReportInfoクラスの配列です。

編集

エラーは19行目でXPATHエラー:nullを示してスローされます。19〜21行目は、コードに追加された新しい行です。

編集2

子供を覚えておいてください。XJCを使用するには、XPATHプロセッサに提供する名前空間を再確認する必要があります。node="//*/xs:element[@ref='ReportInfoWrapper']"どこにあるべきか 間違いを見つけたnode="//*/xsd:element[@ref='ReportInfoWrapper']"

0 投票する
1 に答える
2977 参照

java - JAXB プロパティの順序

XSDファイルがあります。xjc を使用して、そこからクラスを生成します。生成されたクラスの XmlType アノテーションから propOrder 値を変更するにはどうすればよいですか? 私が XSD ファイルの所有者でない限り、XSD ファイルを変更したくありません。また、このスキーマから生成されたクラスを変更したくありません。カスタムバインディングファイル(xjb)でこれを達成する方法はありますか? 問題は、 propOrder 値が私にとって望ましくないことです。最後の解決策として、このクラスに parseMethod/printMethod を使用することを検討しますが、これはややこしすぎます。

私はFpML(XMLベースフォーマット)を扱っています.XSD要素は次のとおりです:

ここにpropOrderがあります:

オブジェクト partyReference と tradeId を設定すると、生成される xml は次のようになります。

次のエラーで XSD 検証に失敗します。

解決策は、tradeId の前に partyReference 要素を配置することです。手動で行うと、すべてが機能します。しかし、生成されたクラスを手動で変更したくありません。スキーマが変更された場合、そのような操作を繰り返さなければならないからです。これは地獄への道です。

1 つの tradeId の名前を変更しようとしたため、2 つのフィールドが存在します。しかし、代わりに 1 つの tradeId フィールドの名前が変更されるだけで、問題は残ります。

0 投票する
1 に答える
493 参照

xml - JAXB バインディング XPath エラー

JAXB が一連の XSD からクラスを生成するときの衝突を修正しようとしています。XML は次のとおりです。

そして binding.xjb ファイル:

XPath を目的の要素に定義するいくつかの異なる組み合わせを試しましたが、同じエラーが発生し続けます。

答えを探して数時間検索しましたが、ほとんど助けが見つかりませんでした. XPath が有効であることは確かなので、間違った場所にあるというエラー メッセージは意味がありません。また、現時点では 1 つしかないため、「他のバインディング」は意味がありません。

0 投票する
1 に答える
368 参照

java - complexType を simpleType に変更するためのバインディング ファイルの作成方法

XSDスキーマにフィールドがありました:

Java クラスでは、フィールドが生成されました。

しかし、その後、xsd スキーマは次のように変更されました。

ここで「int_code」:

また、JAXB は次のコードを生成します。

および MagicField.java が追加されています。

しかし、私はまだ必要です

生成されたコードで。
属性「名前」はまったく使用されません。

スキーマを変更できません。バインド ファイル (xjb) のみを使用しています。

「int_code」タイプを再マップし、「magicField」をintcomplexType (コード内) ではなく simpleType (コード内)として取得するバインディングを作成するにはどうすればよいmagicFieldですか?

私が理解しているように、バインディング ルールだけでなく、カスタム XmlAdapter も必要です。

前もって感謝します。

0 投票する
1 に答える
3651 参照

jaxb - XPATH の結果、XJB のターゲット ノードが空になる

次の単純な XML スキーマを取得しました...

そして、XJC JAXB コンパイラにヒントを与えて、「Type」のタイプ セーフな列挙型クラスを生成するようにしたいと思います。

しかし、コマンドを実行すると

xjc -d src workOrder.xsd -bcustomizedBindings.xjb

次のエラーが表示されます。

元のXSDを変更せずにこの目標を達成する方法を誰かが助けることができますか?

0 投票する
1 に答える
2111 参照

jaxb - JAXB Simplify プラグインはまだ使用可能ですか?

ここでJAXB Simplify plugin vs *.xjbという質問の解決策を試しました。

しかし、次の例外で失敗しました

" コンパイラは、この simple:as-element-property のカスタマイズを受け入れることができませんでした。間違った場所にアタッチされているか、他のバインディングと矛盾しています。"

これは私が使用したカスタマイズバインディングです

jaxb simple プラグインの合流ページにアクセスできないため、このプラグインを使用した人はいますか?例を教えてください。

これが答えによる私の更新されたスキーマです

「サポートされていないバインディング名前空間」 http://jaxb2-commons.dev.java.net/basic/simplifyのような Maven ビルド中に例外が発生しまし/コードインジェクター「?」