This week's book giveaway is in the JavaScript forum.
We're giving away four copies of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js and have Paul Jensen on-line!
See this thread for details.
Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

JAXB2 : Generate Java interface out of a xsd element  RSS feed

Jaikiran Pai
Posts: 10447
IntelliJ IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have been trying some examples of JAXB2.0 for converting xsd to Java objects. My goal is to generate a java "interface" out of a xsd element.

I am following the JavaEE5 tutorial Section "Class Binding Declarations" says this:

The <class> binding declaration enables you to customize the binding of a schema element to a Java content interface or a Java Element interface. <class> declarations can be used to customize:

* A name for a schema-derived Java interface
* An implementation class for a schema-derived Java content interface

The syntax for <class> customizations is:

* name is the name of the derived Java interface. It must be a legal Java interface name and must not contain a package prefix. The package prefix is inherited from the current value of package.
* implClass is the name of the implementation class for className and must include the complete package name.
* The <javadoc> element specifies the Javadoc tool annotations for the schema-derived Java interface. The string entered here must use CDATA or < to escape embedded HTML tags.

So it does mention that given a xsd schema element, i can generate a Java interface for the element by using something like this:

However when i use the xjc command (and even the XJCTask Ant task), it generates POType as a "class" instead of an interface:

I have been trying various things to get this working, but have failed to do so. To make sure, i understood the tutorial right, i even looked at the xsd for jaxb which says this:

So am i doing something wrong here?

  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!