jaxb,给定元素的属性的外部绑定

时间:2015-12-17 23:20:26

标签: java xsd jaxb xjc

我试图强制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文件中声明。

连连呢?

感谢。

- 埃里克

0 个答案:

没有答案