JAXB Документация Аннотация - PullRequest
10 голосов
/ 22 января 2009

У меня есть следующий класс Java с аннотацией JAXB @XMLRootElement

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

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

, который создает этот фрагмент xml при создании схемы xsd

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

Можно ли использовать аннотацию JAXB, чтобы подробности документации по полю address1 были включены как элемент xs: annotation / xs: documentmentention в мою окончательную схему?

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

Ответы [ 2 ]

4 голосов
/ 23 января 2009

Простой ответ: нет, это невозможно с помощью встроенного JAXB.

2 голосов
/ 22 января 2009

Я не знаю, возможно ли это, так как я никогда не использовал его. Но, насколько я могу судить, API не поддерживает элемент документации. Однако вы можете использовать аннотацию @ XMLElement , чтобы дать вашему члену более информативное имя.

//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>
...