I recently added the following new features to the ADB.

1. Sequence and choice level minOccurs and maxOccurs
i.e now ADB can support following type schemas.

<xsd:element name="TestParticalSequenceMaxOccurs1"
type="tns:TestParticalSequenceMaxOccursType1"/>
   <xsd:complexType name="TestParticalSequenceMaxOccursType1">
       <xsd:sequence minOccurs="0" maxOccurs="unbounded">
           <xsd:element name="parm1" type="xsd:string"/>
           <xsd:element name="parm2" type="xsd:string"/>
       </xsd:sequence>
   </xsd:complexType>
and
<xsd:element name="TestParticalChoiceMaxOccurs1"
type="tns:TestParticalChoiceMaxOccursType1"/>
   <xsd:complexType name="TestParticalChoiceMaxOccursType1">
       <xsd:choice minOccurs="0" maxOccurs="unbounded">
           <xsd:element name="parm1" type="xsd:string"/>
           <xsd:element name="parm2" type="xsd:string"/>
       </xsd:choice>
   </xsd:complexType>

2. Group and attribute Group elements support.
i.e.
<xs:element name="TestSequenceGroupElement">
       <xs:complexType>
           <xs:sequence>
               <xs:element name="param1" type="xs:string"/>
               <xs:group ref="tns:TestSequenceGroup"/>
           </xs:sequence>
       </xs:complexType>
   </xs:element>
   <xs:group name="TestSequenceGroup">
       <xs:sequence>
           <xs:element name="sequenceParam1" type="xs:string"/>
           <xs:element name="sequenceParam2" type="xs:string"/>
       </xs:sequence>
   </xs:group>

<xs:element name="TestAttributeGroupElement">
       <xs:complexType>
           <xs:sequence>
               <xs:element name="param1" type="xs:string"/>
           </xs:sequence>
           <xs:attributeGroup ref="tns:TestAttributeGroup" />
       </xs:complexType>
   </xs:element>

   <xs:attributeGroup name="TestAttributeGroup">
       <xs:attribute name="attribute1" type="xs:string"/>
   </xs:attributeGroup>

3. Nested Element support.
i.e now adb can support and order of sequence and choice element within each
other.
<xsd:element name="TestInnerParticle2">
       <xsd:complexType>
           <xsd:sequence>
               <xsd:element name="param1" type="xsd:string"/>
               <xsd:choice>
                   <xsd:element name="param2" type="xsd:string"/>
                   <xsd:element name="param3" type="xsd:string"/>
               </xsd:choice>
               <xsd:element name="param4" type="xsd:string"/>
           </xsd:sequence>
       </xsd:complexType>
   </xsd:element>

I have committed all codes to the trunk. So now nightly builds must include
those features.

Please have a look at those features and report any bugs, so that we can fix
them for before the next release.

Amila.

--
Amila Suriarachchi,
WSO2 Inc.

Reply via email to