5

schemagen がスーパークラスをスキーマに追加しないようにするにはどうすればよいですか?

XMLTransientスーパークラスとそのフィールドで使用しようとしましたが、まだ schema に表示されます。

例えば ​​:

@XmlTransient
public class Asset {

   @XmlTransient
   public Long ID;
}

public class Movie extends Asset {

}

このスキーマを作成します:

<xs:complexType name="asset">
<xs:sequence>
<xs:element name="ID" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

<xs:complexType name="movie">
<xs:complexContent>
<xs:extension base="asset">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>

the schema that i would like to see is :

<xs:complexType name="movie">
<xs:complexContent>
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
4

1 に答える 1

1

あなたは自分で答えを見つけました。@XMLTransient注釈をフィールドに追加すると、JAXB Java-to-schema 生成によって省略されます。これはここXMLTransient documentationに記載されています。

使用してschemagenいるツールがこれを行わない場合は、実装に問題があります。

于 2010-05-16T10:55:10.480 に答える