xjc generates no JAXBElement for nillable element with required attribute --------------------------------------------------------------------------
Key: CXF-3732 URL: https://issues.apache.org/jira/browse/CXF-3732 Project: CXF Issue Type: Bug Components: JAXB Databinding Affects Versions: 2.3.4 Reporter: Dirk Lattermann Please consider the following schema: {quote} <?xml version="1.0" encoding="UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.example.org" targetNamespace="http://www.example.org" elementFormDefault="qualified"> <xsd:element name="root"> <xsd:complexType> <xsd:sequence> <xsd:element name="eal" nillable="true"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="att" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> {quote} Running this through xjc generates a member {{eal}} of type {{Root.Eal}} in {{Root}}, not of type {{JAXBElement<Root.Eal>}}. This makes it impossible to unmarshal a document like {quote} <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <root xmlns="http://www.example.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <eal att="j" xsi:nil="true"/> </root> {quote} and obtain the value for attribute {{att}} in {{eal}}, since {{eal}} is null. The above XML document cannot be represented in the classes generated by xjc. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira