users@jaxb.java.net

generated classes not generating necessary method

From: Robert Koberg <rob_at_livestoryboard.com>
Date: Tue, 15 Jul 2003 08:50:01 -0500

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/