You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Amila Suriarachchi <am...@gmail.com> on 2007/05/31 07:57:24 UTC

Sequence/choice minOccurs and maxOccurs support & attribute Group / Group support with ADB

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.