Hi Robin,
I have filed an RFE http://issues.apache.org/jira/browse/XMLBEANS-203
Please feel free to vote for or ammend it

Mike 

> -----Original Message-----
> From: Robin Sander [mailto:[EMAIL PROTECTED] 
> Sent: 14 September 2005 12:57
> To: dev@xmlbeans.apache.org
> Subject: Re: representation of xs:group and 
> xs:attributeGroup, and polymorphic classes
> 
> 
> Hi Mike,
> 
> ok, now I understand your problem a little bit better.
> Though my problem is based on a badly defined schema (but 
> where I do no have any control over) and thus I can't blame 
> XmlBeans, I do think that both problems could be solved by a 
> modificated extension mechanism:
> 
> If I have two type A,B with the same element 'X', I could 
> extract a common interface BaseInterface with two methods 
> 'getX' and 'setX'.
> Then in the xsdconfig I specifiy:
> 
>   <extension for="*">
>    <interface name="BaseInterface">
>      <staticHandler>test.MyHandler</staticHandler>
>    </interface>
>   </extension>
> 
> In the handler class I could then simply redirect any call to 
> the Original XmlObject.
> The only problem here is that XmlBeans does not *replace* the 
> methods in the generated interface but generate additional 
> ones, in this case 'getX2' and 'setX2'.
> So it would solve my problem to tell XmlBeans to *not* 
> generate additional methods but either delegate the standard 
> (getX,setX) methods to the handler or by using no handler at 
> all, maybe like:
> 
> <extension for="*">
>    <custom-interface name="BaseInterface" /> </extension>
> 
> This is what you ment right? But why not include this in the 
> xsdconfig?
> I think it would perfectly fit and since the code for the 
> extension stuff is already present, it should be not too 
> complicated to implement.
> 
> Maybe file a RFE for that? Or is it even an error, that I 
> can't use a handler for the standard methods?
> 
> Robin.
> 
> 
> Mike Skells wrote:
> > Hi Robin,
> > What I am looking for is primerally at the interface level, 
> so I would 
> > like to be able to define is to define an interface based on the 
> > attribute group or the group and have the generated 
> interface extend 
> > the interface representing the group (as it is contained 
> > functionallity. I am unconcerned that the code does not reuse the 
> > group as an object, I am only concerned with the interface
> > 
> > This seems similar to the feature for allowing a static 
> handler to be 
> > defined for user defined methods, but in this case the methods are 
> > defined, and I am loosing all the benifits of strong typing 
> and object 
> > reuse. What I need to do is to generate the interface of the schema 
> > type and reference the schema in the elements/ complex types that 
> > include it
> > 
> > It seems that the problem that you describe could be 
> modelled as xs:group.
> > This is a reusable structue that can be part of the content of a 
> > complex type. It does not define attributes, hence the 
> sister object 
> > of the attributeGroup (shame the w3c couldnt have a group 
> containing 
> > attributes - I am sure that there is a reason but I dont know it ...
> > 
> > I find the group a useful concept to allow for the definition of a 
> > structure in a reuable manner. It saves in documentation 
> and copy-paste errors.
> > 
> > I cannot see any options in the xsdconfig schema file that 
> relate to this.
> > I would be happy to use or develop them, however the schema 
> > documentation seems a better place for this I think, particually as 
> > there is only the SchemaType that mimics the group structure
> > 
> > Something like
> > <xs:group name="abc">
> >   <xs:annotation>
> >     <xs:documentation>this is really useful</xs:documentation>
> >     <xs:appinfo>
> >       <xb:include-as-interface interface-name="com.foo.Bar"/>
> >     </xs:appinfo>
> >   <xs:annotation>
> >   <xs:sequence>
> >     <xs:element name="ele1" />
> >     <xs:element name="ele2" />
> > ...
> >   </xs:sequence>
> > </xs:group>
> > 
> > I would be willing to do some development to accomplish this.
> > 
> > At the moment my only option is to do so kind of post processing on 
> > the souce/class files to accomplish this which seems to me 
> totally the 
> > wrong way to go.
> > 
> > Can anyone comment as to how much work this would be?
> > 
> > Mike
> > 
> > 
> >>-----Original Message-----
> >>From: Robin Sander [mailto:[EMAIL PROTECTED]
> >>Sent: 13 September 2005 16:13
> >>To: dev@xmlbeans.apache.org
> >>Subject: Re: representation of xs:group and xs:attributeGroup, and 
> >>polymorphic classes
> >>
> >>
> >>Hello Mike,
> >>
> >>I haven't used element-groups or attribute-groups yet, but have a 
> >>similar problem: when a schema defines many different named 
> types (or 
> >>types in different schemas/namespaces) which all have identical 
> >>content it would be great to be able to tell XmlBeans to 
> use the same 
> >>class for all those types.
> >>Maybe by manually specifying them in xsdconfig.
> >>Or is this already possible by mapping different QNames to the same 
> >>java name? (I havent't tried this yet ... my fault) 
> Considering your 
> >>problem: XmlBeans mimics the type hierarchy of a schema, not the 
> >>elements, so I think it would not be easy to map a group of 
> elements 
> >>to one class.
> >>But I'm not sure about that, maybe a kind of pseudo-type 
> could be used 
> >>internally for that purpose.
> >>
> >>regards,
> >>
> >>Robin.
> >>
> >>
> >>
> >>Mike Skells wrote:
> >>
> >>>Hi,
> >>>I have reposted this due to the underwhelming response :(
> >>> 
> >>>Do people think that this is a good idea?
> >>>Is it available currently or should I file an RFE?
> >>> 
> >>>...
> >>> 
> >>>Is anyone out there?
> >>> 
> >>> 
> >>>Mike
> >>>
> >>>    
> >>
> >>--------------------------------------------------------------
> >>----------
> >>
> >>>    *From:* Mike Skells [mailto:[EMAIL PROTECTED]
> >>>    *Sent:* 08 September 2005 14:57
> >>>    *To:* dev@xmlbeans.apache.org
> >>>    *Subject:* representation of xs:group and 
> xs:attributeGroup, and
> >>>    polymorphic classes
> >>>
> >>>    Hi,
> >>>     
> >>>    I am generating a series of java classes based on
> >>
> >>schemas which make
> >>
> >>>    heavy use in groups and attribute groups
> >>>     
> >>>    Is there any way to get the generated classes to marks 
> and reuse
> >>>    this commonallity
> >>>    It woudl seem to me that these would map to other interfaces
> >>>     
> >>>    e.g.
> >>>
> >>>    <xs:complexType name="WorkflowRulesType">
> >>>      <xs:complexContent>
> >>>        <xs:extension base="local:WorkflowRules-interfaceType">
> >>>          <xs:sequence>
> >>>            <xs:group ref="local:workflow-content"/>
> >>>          </xs:sequence>
> >>>          <xs:attributeGroup ref="local:workflow-attributes"/>
> >>>        </xs:extension>
> >>>      </xs:complexContent>
> >>>    </xs:complexType>
> >>>
> >>>    ...
> >>>
> >>>    <xs:complexType name="WorkflowType">
> >>>      <xs:complexContent>
> >>>        <xs:extension base="local:Workflow-interfaceType">
> >>>          <xs:sequence>
> >>>            <xs:group ref="local:workflow-content"/>
> >>>          </xs:sequence>
> >>>          <xs:attributeGroup ref="local:workflow-attributes"/>
> >>>         </xs:extension>
> >>>      </xs:complexContent>
> >>>    </xs:complexType>
> >>>
> >>>     
> >>>
> >>>    I get a class
> >>>
> >>>     
> >>>    public interface WorkflowRulesType extends
> >>
> >>WorkflowRulesInterfaceType
> >>
> >>>    and
> >>>    public interface WorkflowType extends WorkflowInterfaceType
> >>>     
> >>>    each with an identical set of methods that relate to 
> the content
> >>>     
> >>>    Wouldnt it be more logical to get
> >>>    public interface WorkflowsRulesType extends
> >>>    WorkflowsRulesInterfaceType, WorkflowAttributes, 
> WorkflowContent
> >>>    public interface WorkflowsType extends
> >>
> >>WorkflowsRulesInterfaceType,
> >>
> >>>    WorkflowAttributes, WorkflowContent
> >>>     
> >>>    Is there a way to get xmlbeans to generate the
> >>
> >>additional methods to
> >>
> >>>    aid the polymorphic behaviors
> >>>     
> >>>    Mike
> >>
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> > 
> > 
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to