2012-11-06 2 views
7

Si j'ai un schéma tel que:génération de code JAXB XJC des initialisations élément avec leur déclaration

<xs:element name="Book"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element ref="Chapter" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element name="Chapter"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:element maxOccurs="unbounded" name="Word" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 
<xs:element name="Word"> 
</xs:element> 

Il va générer quelque chose comme:

@XmlRootElement(name = "Book") 
public class Book { 

    @XmlElement(name = "Chapter", required = true) 
    protected Chapter chapter; 

Est-il possible de générer les éléments suivants au lieu?

@XmlElement(name = "Chapter", required = true) 
protected Chapter chapter = new Chapter(); 

Il en est ainsi que même si un fichier XML manque un élément de chapitre dans un livre, quand il est unmarshalled il y aura encore un objet du livre créé il est donc possible de faire book.getChapter(). getWord() et récupère une liste vide, au lieu de vérifier null.

Répondre

0

Vous pouvez créer un plugin. J'ai écrit un short tutorial qui vous aide à faire exactement cela. J'espère que vous trouverez cela utile.

Questions connexes