Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Version 3.1.0
-
None
-
None
-
openSUSE Linux; OpenJDK 1.8.0
Description
Using the following schema as an example:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://openuri.org/easypo" xmlns:po="http://openuri.org/easypo" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:simpleType name="addressType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="specialAddressType"> <xs:restriction base="po:addressType"/> </xs:simpleType> <xs:complexType name="customer"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="po:addressType"/> </xs:sequence> </xs:complexType> <xs:complexType name="specialCustomer"> <xs:complexContent> <xs:restriction base="po:customer"> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="address" type="po:specialAddressType" /> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:schema>
scomp generates an interface SpecialAddressType but the interface SpecialCustomer does not make use of it:
public interface SpecialCustomer extends org.openuri.easypo.Customer { public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType) org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(SpecialCustomer.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.s770F7AC969A9A1EBB5EE20A103CED4B6").resolveHandle("specialcustomera398type"); /** * A factory class with static methods for creating instances * of this type. */ public static final class Factory { ... } }
It should contain methods xsetAddress and xgetAddress that:
- override the corresponding methods in Customer
- accept a parameter and return a value of the type SpecialAddressType respectively.
This issue affects both elements and attributes.
I don't suppose that this will get sorted out in practice, but I am creating this issue for the record.
Attachments
Issue Links
- relates to
-
XMLBEANS-261 Classes generated for schema types which have inheritance by restriction could better implement the restricted methods
- Open