加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:55:13 所属栏目:百科 来源:网络整理
导读:我目前使用的XML模式有 xsd:annotation / xsd:documentation对大多数类型和元素。当我从这个XML模式生成Java Bean时,那些Bean的Javadoc仅包含一些关于type / element的允许内容的通用生成信息。 我想查看 xsd:documentation的内容。标记(例如,complextT
我目前使用的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:文档生成文档,但这不回答这个问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读