2016-03-29 12 views
0

xsdスキーマを持つ5つのファイルがあります:http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/JAXB:xjcは特定のxsdファイルからファイルを作成しません

xjc -p jpk -b binding.xjb KodyUrzedowSkarbowych_v4-0E.xsd 

残念ながらXJCコンパイラのdoesn:それらの

3が正しく解析され、コンパイルされたが、私は他の2.Hereで大きな問題を抱えているhttp://crd.gov.pl/xml/schematy/dziedzinowe/mf/2016/01/25/eD/DefinicjeTypy/KodyUrzedowSkarbowych_v4-0E.xsd

が、私はこのようなコマンドを使用し、それらの一つでありますそれらの2つのクラスを作成しないでください。 グローバルバインディング - binding.xjbを使用することで、列挙型のデフォルト制限の問題も解決しました。なぜなら、400要素があるからです。 しかし、私はなぜこれらの2つのファイルからクラスを取得しないのか分かりません。

答えて

0

XMLスキーマKodyUrzedowSkarbowych_v4-0E.xsdはすべての値が数値であるため、列挙型を生成しません。これはJavaの列挙型メンバー名としては使用できません。

:(!)このように、

を解決するには、それぞれの内の別のカスタマイズマントラを追加する必要があります <xsd:enumeration value="x0202">(。「はコンパイルX'-で=「0202」など、すべての値を前置してください)

<xsd:annotation><xsd:appinfo> 
<jaxb:typesafeEnumMember> 
    name = "x0202" value="0202" 
</jaxb:typesafeEnumMember> 
</xsd:annotation></xsd:appinfo> 

おそらくあなたはそれに名前を付けていなかったので、私は他のファイルをチェックしませんでした...

これを自動化するためのXSLTを記述するか、SEDを使用、またはPerlスクリプト。

関連する問題