我想查看< xsd:documentation>的内容。标记(例如,complextType的该标记的内容应该显示在为生成的表示该complexType的类的Javadoc中)。
有什么办法实现这个吗?
编辑:此XML模式将在与JAX-WS的WSDL中使用,因此此标记也可能适合。
编辑2:我已阅读有关< jxb:javadoc> ;.从我的理解,我可以在单独的JAXB绑定文件中或直接在XML模式中指定。这几乎可以解决我的问题。但我宁愿使用现有的< xsd:documentation>标签,因为Javadoc不是文档的主要目标(它主要是关于数据结构的信息,而不是关于从其生成的Java Bean),并允许非JAXB工具访问信息。在< jxb:javadoc>和xsd:documentation> “感觉”错了,因为我复制数据(和工作)没有好的理由。
编辑3:感谢Pascal的答案,我意识到我已经有一半的解决方案:< xsd:documentation>的complexTypes写入其Javadoc的开头!问题仍然是,只使用complexTypes和simpleTypes(这也可以导致一个类)和元素仍然是Javadoc-less。
等被忽略。
所以,我最终使用jxb:javadoc。为此,请在< xsd:schema>中包含xmlns的定义:jxb =“http://java.sun.com/xml/ns/jaxb”元件。
将子项添加到< xsd:complexType>或< xsd:element>或< xsd:attribute> ;:
<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:文档生成文档,但这不回答这个问题。