0

私は XSD を持っており、いくつかのプロパティを XmlTransient としてマークしたいと考えています。これにより、プロパティは XJC によって Java で生成され、JAXB によるマーシャリングおよびアンマーシャリングによって無視されます。

XSD を変更できますが、JAXB バインディングをカスタマイズするために xs:annotation タグに何を入れればよいかわかりません。

ここに私のXSDがあります

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:hj="http://hyperjaxb3.jvnet.org/ejb/schemas/customizations" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" jaxb:extensionBindingPrefixes="hj orm">
  <xs:complexType name="tripRegisterType">
    <xs:annotation>
      <xs:appinfo>
        <hj:entity>
          <orm:table name="simplemaketripprocess_tripregistertype" />
        </hj:entity>
        <hj:generated-id name="tripregistertypeid" />
      </xs:appinfo>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="startDate" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <hj:basic>
              <orm:column name="startDate" column-definition="timestamp" />
            </hj:basic>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="endDate" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <hj:basic>
              <orm:column name="endDate" column-definition="timestamp" />
            </hj:basic>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="want_flight" type="xs:boolean" />
      <xs:element name="want_hotel" type="xs:boolean" />
      <xs:element name="want_car" type="xs:boolean" />
      <xs:element name="payAccNumber" type="xs:string" />

      <!-- THE NEXT COLOUMS I'D LIKE TO BE XML TRANSIENT-->

      <xs:element name="companyid" type="xs:long" />
      <xs:element name="groupid" type="xs:long" />
      <xs:element name="userid" type="xs:long" />
      <xs:element name="username" type="xs:string" />
      <xs:element name="createDate" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <hj:basic>
              <orm:column name="createDate" column-definition="timestamp" />
            </hj:basic>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="modifiedDate" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <hj:basic>
              <orm:column name="modifiedDate" column-definition="timestamp" />
            </hj:basic>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
4

1 に答える 1

1

これにはAnnotateプラグインを試してください。(免責事項:私は著者です。) の例があります@XmlRootElement@XmlTransient類似するでしょう。

<annox:annotate target="class">
    <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
       namespace="someNamespace"/>
</annox:annotate>
于 2014-02-24T21:44:33.140 に答える