我有这个xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="figures" type="Figures" />
<xsd:complexType name="Figures">
<xsd:sequence>
<xsd:element name="figure" type="Figure" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Figure">
<xsd:sequence>
<xsd:element name="argument" type="xsd:double" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="area" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
这个xjb:
<?xml version="1.0"?>
<jxb:bindings version="1.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
jxb:extensionBindingPrefixes="xjc">
<jxb:bindings schemaLocation="FiguresDefinition.xsd">
<jxb:bindings node="//xs:complexType[@name='Figure']">
<inheritance:implements>figures.Figure</inheritance:implements>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
我的想法是创建一个Figure抽象类,并使用属性“argument”来创建对象。
但是当我生成课程时,我得到了:
[ERROR]不支持的绑定名称空间“http://jaxb2-commons.dev.java.net/basic/inheritance”。也许你的意思是“http://jaxb.dev.java.net/plugin/code-injector”?
我不知道它是否足够清楚,但我希望能够使用名称,类型,区域来实例化图对象和XML中的参数。