创建自定义JAXB注释

时间:2009-01-27 12:50:29

标签: java xml xsd jaxb

人们对如何编写我自己的自定义JAXB注释处理类以支持在xsd模式中生成xs:annotation / xs:documentation元素有任何建议吗?我想创建一个新的java注释“@XmlAnnotation”,其中包含“documentation”属性。然后,我将通过类路径将这些类提供给JAXB模式生成器。然后,模式生成器将采用此示例Java代码

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

/**
 * The first address field of the person
 */
@XmlAnnotation(documentation="The first address field of the client")
private String address1 = null;
}

并创建此xsd架构

<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 client</xs:documentation>
</xs:annotation>

从现有的@XmlElement注释类扩展是否更容易,只需添加对额外文档属性的支持?

2 个答案:

答案 0 :(得分:1)

此XmlRootElement几乎为空(http://docjar.org/src/api/javax/xml/bind/annotation/XmlRootElement.java,内部没有“有效”代码

主要修改是更改代码使用此注释并生成xsd文件。

答案 1 :(得分:0)

那只会允许根元素的构造。它几乎适用于所有xs名称空间元素。

我不明白为什么它不作为标准支持。