users@jaxb.java.net

Re: generated classes not generating necessary method

From: Ed Mooney <Ed.Mooney_at_sun.com>
Date: Wed, 16 Jul 2003 09:33:46 -0400

Hi Robert,

The difference is that the sequence in folder is unbounded. The folder
class should have a getFolderElems() returning a java.util.List.

Regards,
--
Ed Mooney         |Sun Microsystems, Inc.|Time flies like
Java Web Services |UBUR02-201            |an arrow, but
Ed.Mooney_at_Sun.COM |1 Network Drive       |fruit flies like
781-442-0459      |Burlington, MA  01803 |a banana. Groucho
Robert Koberg wrote:
> Hi,
>
> I am wondering why the generated classes for the site and folder element
> (schema ref below) do not have similar methods. An instance document might look
> like this:
>
> <site id="mysite" index_page="home_page">
>   <page id="home_page"/>
>   <folder id="f1" index_page="p1">
>     <page id="p1"/>
>     <page id="p2"/>
>     <page id="p3"/>
>     <folder id="f1_1" index_page="p4">
>       <page id="p4"/>
>       <page id="p5"/>
>       <page id="p6"/>
>     </folder>
>   </folder>
>   <folder id="f2" index_page="p7">
>     <page id="p7"/>
>   </folder>
> </site>
>
> The generated classes for the site element have a getPageOrFolder() method. But
> the ones for folder do not. Therefore I have no way of getting down to nested
> page/folder elements. Any ideas what I am doing wrong?
>
> Thanks,
> -Rob
>
>
> The XML Schema looks like this for the site and folder element:
>
> <xs:element name="site">
>   <xs:complexType>
>     <xs:sequence>
>       <xs:group ref="lsb:folder.elems"/>
>     </xs:sequence>
>     <xs:attributeGroup ref="lsb:navigable.attrs"/>
>     <xs:attributeGroup ref="lsb:index_page.attr"/>
>   </xs:complexType>
> </xs:element>
>
>         - o -
>
> <xs:element name="folder">
>   <xs:complexType>
>     <xs:sequence maxOccurs="unbounded">
>       <xs:group ref="lsb:folder.elems"/>
>     </xs:sequence>
>     <xs:attributeGroup ref="lsb:navigable.attrs"/>
>     <xs:attributeGroup ref="lsb:index_page.attr"/>
>     <xs:attribute name="expand" type="xs:boolean" use="required"/>
>     <xs:attributeGroup ref="lsb:name.attr"/>
>     <xs:attribute name="pager" type="xs:boolean" use="optional" default="0"/>
>     <xs:attribute name="snailtrail" type="xs:boolean" use="optional"
> default="1"/>
>   </xs:complexType>
> </xs:element>
>
>         - o -
>
> With the lsb:folder.elems looking like:
>
> <xs:group name="core.elems">
>   <xs:sequence>
>     <xs:element ref="lsb:label"/>
>     <xs:element ref="lsb:title" minOccurs="0"/>
>     <xs:element ref="lsb:regions" minOccurs="0"/>
>   </xs:sequence>
> </xs:group>
>
>         - o -
>
> <xs:group name="folder.elems">
>   <xs:sequence>
>     <xs:group ref="lsb:core.elems"/>
>     <xs:choice minOccurs="0" maxOccurs="unbounded">
>       <xs:element ref="lsb:page"/>
>       <xs:element ref="lsb:folder"/>
>     </xs:choice>
>   </xs:sequence>
> </xs:group>
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/