sambrereton
New Member
I got this XML structure:\[code\]<Tax> <Money currency="USD">0.00</Money> <Description xml:lang="en"> 17.5% Non-Recoverable <ShortName>vatspecial</ShortName> </Description></Tax>\[/code\]Notice that \[code\]Description\[/code\] node has \[code\]MixedContent\[/code\] (composed with text and XML) and this is the \[code\]XSD\[/code\] part regarding \[code\]Description\[/code\] node:\[code\]<xsd:complexType name="TaxDescriptionType"> <xsd:sequence> <xsd:element name="ShortName" type="xsd:string" /> </xsd:sequence> <xsd:attribute ref="xml:lang" /></xsd:complexType>\[/code\]Everything is ok at this point, \[code\]XJC\[/code\] outputs the generated classes like this one regarding \[code\]TaxDescriptionType\[/code\]:\[code\]package org.com.project;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlAttribute;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlSchemaType;import javax.xml.bind.annotation.XmlType;import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;/** * <p>Java class for TaxDescriptionType complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="TaxDescriptionType"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="ShortName" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * <attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/> * </restriction> * </complexContent> * </complexType> * </pre> * * */@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name = "TaxDescriptionType", propOrder = { "shortName"})public class TaxDescriptionType { @XmlElement(name = "ShortName", required = true) protected String shortName; @XmlAttribute(name = "lang", namespace = "http://www.w3.org/XML/1998/namespace") @XmlJavaTypeAdapter(CollapsedStringAdapter.class) @XmlSchemaType(name = "NCName") protected String lang; /** * Gets the value of the shortName property. * * @return * possible object is * {@link String } * */ public String getShortName() { return shortName; } /** * Sets the value of the shortName property. * * @param value * allowed object is * {@link String } * */ public void setShortName(String value) { this.shortName = value; } /** * Gets the value of the lang property. * * @return * possible object is * {@link String } * */ public String getLang() { return lang; } /** * Sets the value of the lang property. * * @param value * allowed object is * {@link String } * */ public void setLang(String value) { this.lang = value; }}\[/code\]Then, with the above \[code\]class\[/code\] I am able to work around with the elements like this:\[code\]taxDescriptionType.setLang("en");taxDescriptionType.setShortName("vatspecial");/* missing value: 17.5% Non-Recoverable */\[/code\]But the problem is that I can't found a way to \[code\]get\[/code\] or \[code\]set\[/code\] the \[code\]17.5% Non-Recoverable\[/code\] text of the \[code\]MixedContent-ComplexType\[/code\] from the above \[code\]XML\[/code\] example.This is what I tried and it's not working:
- Used \[code\]mixed="true"\[/code\] attribute like this: