我试图强制xjc编译器生成代码,允许我将一组访问器方法绑定到元素的属性。
例如,架构包含:
<xsd:complexType name="HostInfo">
<xsd:annotation>
<xsd:documentation>Host configuration </xsd:documentation>
</xsd:annotation>
<xsd:attribute name="hostInfoId" type="svtosz:UUID" use="required" />
<xsd:attribute name="mgmtServerId" type="svtosz:UUID" use="required" />
<xsd:attribute name="hostInfoType" type="svtosz:HostInfoType"
use="required" />
</xsd:complexType>
....
<xsd:element name="hostInfo" type="svtosz:HostInfo"
如何在外部绑定文件中引用hostInfo元素的hostInfoId属性?
我尝试过(beaucoup)各种变体:
<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="1.0">
<jxb:bindings schemaLocation="hostInformation.xsd" >
<jxb:bindings node="//xs:element[@name='hostInfo']/@hostInfoId">
<jxb:property>
<jxb:baseType>
<jxb:javaType name="java.lang.String"
parseMethod="HostId.parseHostId" printMethod="HostId.printHostId" />
</jxb:baseType>
</jxb:property>
</jxb:bindings>
</jxb:bindings>
唉,莫德维尔没有任何喜悦。我还尝试为基本类型svtos设置绑定:UUID,但放弃了。该类型在主XSD架构文件包含的单独XSD文件中声明。
连连呢?
感谢。
- 埃里克