問題タブ [xml-binding]
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 - jaxb: 属性を要素にバインド
この XML を JAXB で実現するにはどうすればよいですか? 現在、grantA、C、B 要素の expires 属性は制限されていませんが、制限する必要があります。要素を属性に関連付ける方法がわかりません。grantA、C、B ごとにクラスを作成する必要がありますか?
XML:
XSD:
私の現在の状態は次のとおりです。
Customers.java:
Customer.java
jaxb - JAXBXJC-XMLスキーマバージョンをクラス名にバインドします
要素名は同じで名前空間が異なる2つのXMLスキーマがあります。xjcを使用すると、コンパイラは同じクラスパスと要素に要素を割り当てます。以下に示すように、根本的な問題は、先頭に数字が付いたXMLスキーマ名前空間の処理にあります。具体的には1.0と1.1です。XJCは、これらの異なるURIを同じクラスパスにコンパイルしています。具体的には_1。これにより、同じクラスパスとの衝突が発生しています。
1.0を_1_0にバインドし、1.1を_1_1にバインドするためのbindings.xjbの構文は何ですか?
ありがとう!!!
XMLスキーマ1: http: //namespaces.companyABC.com/EDA/Process/1.0/TheChange
XMLスキーマ2: http: //namespaces.companyABC.com/EDA/Process/1.1/TheChange
エラー:
これは、XSDスキーマ注釈を使用するソリューションです。ただし、ソリューションは、bindings.xjbとアノテーションのバインディングパターンとして実装する必要があります。注釈を付けるには、各スキーマに注釈を付ける必要があります。これは問題です。
このアノテーションは、bindings.xjbのバインディングパターンとしてどのように実装されていますか?
java - xjc 型定義の名前解決エラー
XJC を使用して XSD (作成者ではない) をコンパイルしようとすると、問題が発生します。
具体的には、エラーが発生します(実際にはこれらのようなものがあります):
siri_situationIdentity-v1.1.xsd
上記のファイル ( ) は、疑わしいタイプが宣言されている別の XSD を参照しているため、これは奇妙です。
私はいくつかのことを試しました
- Java のバージョンを切り替えて別の xjc を取得する
- java.netから直接いくつかの異なるxjcを試しました
- インクルード/インポートに関して現在適用されているJAXBの回避策が削除されるように、ファイルにいくつかの変更を適用しました
- 依存スキーマを持つディレクトリ全体を xjc のターゲットとして使用しようとしました
- Altova XMLSpy Java コード生成はエラーなしでうまく機能します (しかし、私にはどうしようもありません)
それらのどれも機能しませんでした。
エラーメッセージの原因を知っている人はいますか? 要点がわかりません。ここからすべての XSD を直接入手できます: Verband Deutscher Verkehrsunternehmen (VDV) - Ist-Daten-Schnittstellen
私が(とりわけ)試したコマンドラインは次のとおりです。
どんな助けやヒントも大歓迎です。
よろしく
xsd - DDEX XML バインディングに GenerateDS を正しく使用する方法
このスキーマに準拠した入力ファイルを読み取るための Python XML バインディングに興味があります: http://ddex.net/xml/ern/341/release-notification.xsd
ただし、この XSD は他の多くのものに依存していますが、最も重要なのは http://ddex.net/xml/20120404/ddexC.xsdおよび http://ddex.net/xml/20120404/ddex.xsdです。
私の最初の試みはgenerateDSを使用することです。--no-process-includes を次のように使用すると、release-notification.xsd のバインドを正常に生成できます。
ただし、これにより、ほとんどの ComplexTypes がddexC.xsdで定義されているため、ほとんど役に立たない Python オブジェクトが残ります。
--no-process-includes なしで試してみると、次のようになります。
参照される定義は次のとおりです。
そのため、ddex と ddexC の名前空間が何らかの形で混同され、循環参照が作成されているようです。
ここで何かアドバイスはありますか?
jaxb - JAXBException : 予期しない要素 (uri:""、local:"workConfigRestWrapper")。期待される要素は <{}Config>,<{}MyMap> です
xml バインディングを使用してマップを非整列化する必要があると、エラーが発生します。
MyMap.java:
MyAdaptor.java : public class MyAdaptor extends XmlAdapter> {
Config.java :
クライアントコード:
エラーメッセージ:
JAXBException : 予期しない要素 (uri:""、local:"workConfigRestWrapper")。予期される要素は <{}Config>、<{}MyMap> javax.xml.bind.UnmarshalException: 予期しない要素 (uri:""、local:"workConfigRestWrapper") です。予想される要素は、com.sun.xml.bind.v2 の <{}Config>、<{}MyMap> です。 com.sun.xml.bind.v2 の runtime.unmarshaller.Loader.reportError(Loader.java:258)。com.sun.xml.bind.v2 の runtime.unmarshaller.Loader.reportError(Loader.java:253)。 runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1063) at com.sun.xml.bind.
java - JAXB @XmlAttribute @XmlValue の実例
私は JAXB を初めて使用し、XML から Java クラス インスタンスへの変換に問題があります。
次の XML があります。
そして、次の Java コードを開発します。
と
これらのコード例は実行されますが、データが間違っています:
http://i.stack.imgur.com/qCCIM.png
私を助けてください。
また、私は多くの異なるものがある場合に備えて理解していません
簡単で簡単にできることは何ですか?
私はこの場合を意味します: