【问题标题】:Comments in Enums imported from XSD by wsimportwsimport 从 XSD 导入的枚举中的注释
【发布时间】:2011-06-25 10:14:48
【问题描述】:

有没有办法使用 wsimport 将 cmets 从 XSD 转换为 Java 代码?例如,我有一个 XSD 文件

<!-- Enumerace /model/user/UserLevel.java -->
<xs:simpleType name="userLevel">
    <xs:restriction base="xs:string">
        <!-- basic user -->
        <xs:enumeration value="BASE"/>
        <!-- team leader -->
        <xs:enumeration value="TL"/>
        <!-- section leader -->
        <xs:enumeration value="SL"/>
    </xs:restriction>
</xs:simpleType>

我希望我生成的 java 枚举类看起来像这样:

@XmlType(name = "userLevel")
@XmlEnum
public enum UserLevel {
    /**
     * basic user
     */
    BASE,
    /**
     * team leader
     */
    TL,
    /**
     * section leader
     */
    SL;
}

这甚至可能在合约优先(例如从 XSD 生成的 java 代码)中实现吗?

【问题讨论】:

    标签: java documentation xsd wsimport


    【解决方案1】:

    好的,我在 XSD 中找到了解决方案:

    <xs:simpleType name="MyEnum">
        <xs:restriction base="xs:string">
            <xs:enumeration value="STANDARD">
                <xs:annotation>
                    <xs:documentation>
                        This is a comment.
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    

    生成一个 Java 枚举,例如:

    @XmlType(name = "MyEnum")
    @XmlEnum
    public enum MyEnum {
    
    
        /**
         * 
         *                         This is a comment.
         *                     
         * 
         */
        STANDARD,
    
        public String value() {
            return name();
        }
    
        public static MyEnum fromValue(String v) {
            return valueOf(v);
        }
    
    }
    

    唯一的问题是 xs:documentation 不会忽略空格,因此 cmets 中有很多空格。

    【讨论】:

    • 您是否尝试将属性xml:space="default" 添加到您的&lt;xs:documentation&gt; 标签中?此外,来自这个问题的信息可能会有所帮助:stackoverflow.com/questions/1650249/…
    • @JoachimSauer xml:space="default" 不起作用,wsimport 只是忽略它。我已经尝试了另一个线程中提到的jxb:javadoc,但是 wsimport 以错误结束(“[ERROR] JAXB 版本属性必须存在”)。我一有时间就会调查一下。无论如何感谢您的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2019-03-08
    • 1970-01-01
    • 2012-02-14
    • 2015-08-02
    • 1970-01-01
    相关资源
    最近更新 更多