微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使生成的类包含来自XML Schema文档的Javadoc

我目前使用的XML模式有< xsd:annotation> /< xsd:documentation>对大多数类型和元素。当我从这个XML模式生成Java Bean时,那些Bean的Javadoc仅包含一些关于type / element的允许内容的通用生成信息。

我想查看< xsd:documentation>的内容标记(例如,complextType的该标记内容应该显示在为生成的表示该complexType的类的Javadoc中)。

有什么办法实现这个吗?

编辑:此XML模式将在与JAX-WS的WSDL中使用,因此此标记也可能适合。

编辑2:我已阅读有关< jxb:javadoc&gt ;.从我的理解,我可以在单独的JAXB绑定文件中或直接在XML模式中指定。这几乎可以解决我的问题。但我宁愿使用现有的< xsd:documentation>标签,因为Javadoc不是文档的主要目标(它主要是关于数据结构的信息,而不是关于从其生成的Java Bean),并允许非JAXB工具访问信息。在< jxb:javadoc>和xsd:documentation> “感觉”错了,因为我复制数据(和工作)没有好的理由。

编辑3:感谢Pascal的答案,我意识到我已经有一半的解决方案:< xsd:documentation>的complexTypes写入其Javadoc的开头!问题仍然是,只使用complexTypes和simpleTypes(这也可以导致一个类)和元素仍然是Javadoc-less。

我从来没有能够得到定期xsd:文档放置在java源,除非,如果它是一个复杂类型。元素,简单类型,
等被忽略。

所以,我最终使用jxb:javadoc。为此,请在< xsd:schema>中包含xmlns的定义:jxb =“http://java.sun.com/xml/ns/jaxb”元件。

将子项添加到< xsd:complexType>或< xsd:element>或< xsd:attribute&gt ;:

<xsd:annotation><xsd:appinfo><jxb:XXX><jxb:javadoc>
  This is my comment for a class/property
</jxb:javadoc></jxb:XXX></xsd:appinfo></xsd:annotation>

其中XXX是“类”或“属性”。

对于包你写一个孩子到xsd:schema

<xsd:annotation><xsd:appinfo><jxb:schemaBindings><jxb:package name="com.acme"><jxb:javadoc>
  This is my comment for a package
</jxb:javadoc></jxb:package></jxb:schemaBindings></xsd:appinfo></xsd:annotation>

编写HTML文档需要使用<![CDATA [---]]& (编辑:在写我的答案,该问题已经由OP编辑,因此我更新它相应) 在我的例子中,javadoc是唯一的目标,所以可以接受使用jxb:javadoc。但你的更新是完全有道理的,实际上,我完全同意你。可悲的是,我从来没有找到一个理想的解决方案,你所描述的情况(所以我会非常仔细地跟踪这个问题)。也许你可以使用像xframe从xsd:文档生成文档,但这不回答这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类