1

schemagen を使用した XSD ファイルの自動生成に少し苦労しています。まず第一に、私は大学でプロジェクトに取り組んでおり、注釈以外の Java クラスのコードを変更してはならないことを伝えなければなりません...

したがって、基本的に私がしなければならないことは、いくつかの XmlElements の名前を変更し、それらを特定の順序にする必要があることです。私はこれを次のように解決できると思いました:

@XmlType(propOrder = { "email", "id", "name", "publication" })
public class Author {
   ...
   private List<Publication> publications = new LinkedList<>();
   ...
   @XmlElement(name = "publication")
   public List<Publication> getPublications() {
    return publications;
}
   public void setPublications(List<Publication> publications) {
    this.publications = publications;
} 

XmlAccessorType のデフォルト値は です@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)。しかし、schemagen (Eclipse およびコマンドラインで...) を使用して XML スキーマを生成しようとすると、次のエラーが発生します。

Property publications is present but not specified in @XmlType.propOrder

Property publication appears in @XmlType.propOrder, but no such property exists. Maybe you meant publications?

だから、私にはこれは少し矛盾しているように聞こえます.schemagenは私が指定したものを完全に無視しているようです...誰が問題がどこにあるのか教えてもらえますか??

どうもありがとう!

4

1 に答える 1

0

propOrderXML 属性または要素の名前ではなく、マップされたフィールド/プロパティ名に基づいています。

于 2014-05-11T16:22:37.570 に答える