2009-01-22 10 views
10

I XSD şemasıJAXB Belgeleri Açıklaması

<xs:complexType name="clientData"> 
    <xs:sequence> 
    <xs:element minOccurs="0" name="address1" type="xs:string"/> 

oluşturmak, bu XML fragmanını üreten JAXB @XMLRootElement açıklama

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

/** 
* The first address field of the person 
*/ 
private String address1 = null; 
} 

aşağıdaki Java sınıfı mümkün JAXB kullanımı kolay olan Açıklama şemada, adres1 alanındaki dokümantasyon detayları, son şemamda xs: ek açıklama/xs: dokümantasyon unsuru olarak eklenecektir.

<xs:complexType name="clientData"> 
    <xs:sequence> 
    <xs:element minOccurs="0" name="address1" type="xs:string"> 
    <xs:annotation> 
     <xs:documentation>The first address field of the person</xs:documentation> 
    </xs:annotation> 
    </xs:element> 

cevap

4

Basit cevap: hayır yerleşik JAXB ile mümkün değil.

2

Bunun mümkün olup olmadığını bilmiyorum, çünkü hiç kullanmadım. Ancak, API’nın bildiğim kadarıyla dokümantasyon elemanını desteklemiyor. Ancak, üyenize daha açıklayıcı bir ad vermek için @XMLElement ek notunu kullanabilirsiniz.

//Example: Code fragment 
public class USPrice { 
    @XmlElement(name="itemprice") 
    public java.math.BigDecimal price; 
} 

<!-- Example: Local XML Schema element --> 
<xs:complexType name="USPrice"/> 
    <xs:sequence> 
    <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/> 
    </sequence> 
</xs:complexType> 
+0

evet - bunun kolay bir çözüm olduğunu düşünmekteydim, ancak alana daha spesifik alanlar eklendikçe alan adı uzunluklarının uzadığını hayal edebiliyorum. Alanlar için iş kullanıcı tanımlarını belge etiketi olarak eklemek istedim ve java alan adını geliştiricilere bıraktım. Teşekkürler. – emeraldjava