Аннотация документации 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: Documentention в мою окончательную схему?

<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>
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
11
0
5 407
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Не знаю, возможно ли это, так как я никогда этим не пользовался. Но насколько я могу судить, 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>

да - я думал, что это простой обходной путь, но я могу представить, что длина имени поля становится больше по мере того, как в класс добавляются более конкретные поля. Я хотел добавить определения бизнес-пользователей для полей в качестве тега документации, а присвоение имен Java-полям оставить разработчикам. Благодарю.

emeraldjava 26.01.2009 21:25
Ответ принят как подходящий

Простой ответ: нет, это невозможно со встроенным JAXB.

Другие вопросы по теме