users@jaxb.java.net

Re: Suppressing xsi:type information

From: Bradley Rintoul <brintoul_at_sbcglobal.net>
Date: Wed, 25 Apr 2007 21:49:52 -0700 (PDT)

I'm usually just a lurker here, but I'll give this a shot - hopefully if I'm wrong someone will correct me...

I think you can use the XmlTransient annotation on the properties in question... maybe look into its usage.

"Johendran, Aravindh" <aravindh.johendran_at_wachovia.com> wrote: Hi,
      Thanks for creating and maintaining JAXB. The Java code it generates from the xsd is quite cool and overall it is a great tool.
  I have a quick question. Is there a way to suppress the xsi:type information in the marshaled xml file? JAXB automatically generates type info when there is a base class/subclass relationship. It makes sense. However, the people who are using the XML file we generate do not want the type info. They provided us with the XSD and for that XSD JAXB generates the type info at relevant places.
   
  We are generating some huge xml files and it will be great if the type info can be suppressed since it is not being used.
   
  For example, I’d like to suppress the generation of xsi:type="attrString", xsi:type="list" and so on during marshalling.
   
  <Attribute>
              <Name>Early Termination Schedule</Name>
              <Value xsi:type="list">
                          <List>
                                      <Item>
                                                  <Attribute xsi:type="attrString">
                                                              <Name>Early Termination Type</Name>
                                                              <Value>Credit</Value>
                                                  </Attribute>
                                                  <Attribute xsi:type="attrDate">
                                                              <Name>Early Termination Date</Name>
                                                              <Value>08JAN1970</Value>
                                                  </Attribute>
                                      </Item>
                          </List>
              </Value>
  </Attribute>