如前所述,您需要添加
mixed属性以指示您的类型支持混合内容。没有指定此内容,您的XML内容无效:
<xsd:complexType name="TaxDescriptionType" mixed="true"> <xsd:sequence> <xsd:element name="ShortName" type="xsd:string" /> </xsd:sequence> <xsd:attribute ref="xml:lang" /></xsd:complexType>
生成的
TaxDescriptionType类将具有以下属性。本质上,这意味着所有非属性内容都将存储在中
List。这是必需的,因为您需要一种机制来指示文本节点位于元素内容的何处。
@XmlElementRef(name = "ShortName", namespace = "http://www.example.org/schema", type = JAXBElement.class)@XmlMixedprotected List<Serializable> content;
您将使用
String(表示文本节点)和
JAXBElement(表示元素内容)的实例填充此列表。
交替地
混合的内容通常会使生活变得复杂得多。如果可能的话,我建议使用其他XML表示形式。
<Tax> <Money currency="USD">0.00</Money> <Description xml:lang="en" ShortName="vatspecial"> 17.5% Non-Recoverable </Description></Tax>
要么
<Tax> <Money currency="USD">0.00</Money> <Description xml:lang="en"> <LongName>17.5% Non-Recoverable</LongName> <ShortName>vatspecial</ShortName> </Description></Tax>



