2010-03-15 25 views
5

schemagen'in şemaya süper sınıfı eklemesini nasıl engellerim?schemagen'in şemaya süper sınıf eklemesini engelliyor mu?

Süper sınıfında ve alanlarında XMLTransient kullanmayı denedim, ancak yine de şemada görünüyorlar. örneğin

:

<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> 
+0

Şemadaki üst düzey bir soruna neden oluyor mu? – skaffman

+0

evet, öznitelik çalışması gerekir – shay

+0

Hmm @XmlTransient gerekli değildir ID alanını ekliyor. Bunu alıcılara koymaya mı çalıştın? –

cevap

1

Cevabı kendiniz bulduk:

@XmlTransient 
public class Asset { 

    @XmlTransient 
    public Long ID; 
} 

public class Movie extends Asset { 

} 

Bu şemayı oluşturur. Bir alana @XMLTransient ek açıklaması eklerseniz, JAXB Java-şema oluşturma tarafından atlanacak. Bu burada XMLTransient documentation belirtilmiştir.

Eğer onun uygulanmasında bir hata yapması yerine, bu yapmaz kullandığınız sizin schemagen aracı.

İlgili konular