Ответ 1
Простой ответ: нет, это невозможно с встроенным JAXB.
У меня есть следующий 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: document document в моей последней схеме?
<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>
Простой ответ: нет, это невозможно с встроенным JAXB.
Я не знаю, возможно ли это, так как я никогда не использовал его. Но насколько я могу сказать, 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>